Wmroot - Webmaster Forum  

Geri Dön   Wmroot - Webmaster Forum > Programlama ve Yazılım > Programlama > Ruby


Yeni Konu Aç  Cevapla
 
LinkBack Seçenekler Stil
  #1  
Alt 10.03.2018
 
Sakarya Şubesi
Üyelik tarihi: 10.03.2018
Mesajlar: 100
Konular: 100
Bahsedilme: 0 Mesaj
Ticaret Sayısı: (0)
Ticaret Yüzdesi:(%)
Standart Ruby’de Koşullu Dallanmalar(if, unless, ternary ve case)

Birçok programlama dilinde programın akışı koşullu dallanmalar kullanılarak değiştirilebilir. Elbette Ruby’de de bu mümkündür. Bu tür dallanma işlemlerinde birşeyin doğruluğu ya da yanlışlığına göre programın gidişatına yön verilir.

Programın akışını kontrol etmek için birden fazla yöntem mevcut. Bunlar yazının başlığında da geçtiği üzere if, unless, ternary ve case. Şimdi sırasıyla bunların nasıl kullanıldığına bakarak örneklerle nasıl çalıştıklarını görelim.

if işlemi ve kullanım örneği
Kod:
sayi = 3

if sayi==3
print "sayi 3e esit" #bu satır çalışacaktır
end

if sayi==5
print "sayi 5e esit" #bu satır çalışmayacaktır
end
Peki if işlemini tek satırda yapmak istiyorsanız ne yapmalısınız. Ruby’de bunu yapabilmek isteyeceğinizi de düşünmüşler. Bunun için then komutunu kullanmanız yeterli.

Kod:
sayi = 3
if sayi == 3 then print "3e esit" end
if, elsif ve else işlemleri

Bir şartın doğru olmasının yanında yanlış olması da bizi ilgilendiriyorsa bu durumda else komutunu da kullanırız. Bir şartla ilgili birden fazla karşılaştırma yapmak istiyorsak da elsif komutu işimize yarayacaktır.

Örnek else işlemi:

Kod:
sayi = 4
if sayi==3
print "sayi 3"
else
print "sayi 3 degil"
end
#burada sayımız 3 olmadığı için elseden sonraki print komutu çalışacaktır
Örnek elsif işlemi:

Kod:
gun = 4
if gun==1
print "Pazartesi"
elsif gun==2
print "Sali"
elsif gun==3
print "Carsamba"
elsif gun==4
print "Persembe"
elsif gun==5
print "Cuma"
elsif gun==6
print "Cumartesi"
else
print "Pazar"
end
#ekrana -Persembe- yazdıracaktır
Son örneğimizde elsif ve else işlemini aynı anda kullandık.

unless işlemi

Unless işlemini if işleminin tersi gibi düşünebilirsiniz. If işleminde eğer şart doğruysa belirlediğimiz kod bloğu çalışıyordu. Unless işleminde ise şart yanlışsa belirlediğimiz kod bloğu çalışacaktır.

Kod:
sayi = 3
unless sayi == 4
print "sayi 4 degil" #ekrana yazdıracaktır
end
“Peki unless işlemini tek satırda kullanabili miyiz?” diye soranlarınız olacaktır. Elbette if işleminde olduğu gibi unless işleminde de işlemi tek satırda yapmanız mümkündür.

Kod:
sayi = 3
sayi==4 unless print "sayi 4 degil"
#sayımız 3 olduğundan print komutu çalışacaktır
ternary(kısa if) işlemi

Her ne kadar if işlemini tek satırda kullanabiliyor olsak da bazen tek satırda hem karşılaştırmayı yaptırıp hemde ekrana yazdırmak isteyebiliriz. Bu gibi durumlarda kısa if denilen ya da doğru adıyla ternary operatöründen yararlanabiliriz. Ternary operatörü çoğu programlama dilinde mevcuttur. Daha detaylı açıklama için buradaki yazımı inceleyebilirsiniz. Aşağıdaki kodlarda ternary işleminin Ruby’deki kullanımına örnektir.

Kod:
sayi = 3
print sayi==3?"Sayi3e esit":"Sayi 3e esit degil"
#burada -Sayi 3e esit yazacaktır
sayi = 4
print sayi==3?"Sayi 3e esit":"Sayi 3e esit degil"
#burada -Sayi 3e esit degil yazacaktır
case işlemi

Yukarıda haftanın günlerinde olduğu gibi bir şarta bağlı birden fazla işlem için elsif kullanmıştık. Case işlemi işte buna alternatif olarak kullanabileceğimiz oldukça kullanışlı bir işlemdir. Case işleminin birden fazla kullanım şekli bulunmaktadır. Aşağıda da bu kullanım şekillerine ait örnekler yer almaktadır.

case ile haftanın günleri örneği 1:

Kod:
gun = 5
case
when gun==1 then print "Pazartesi"
when gun==2 then print "Sali"
when gun==3 then print "Carsamba"
when gun==4 then print "Persembe"
when gun==5 then print "Cuma"
when gun==6 then print "Cumartesi"
when gun==7 then print "Pazar"
end
#ekrana -Cuma- yazacaktir
case ile haftanın günleri örneği 2:

Kod:
gun = 2
case gun
when 1 then print "Pazartesi"
when 2 then print "Sali"
when 3 then print "Carsamba"
when 4 then print "Persembe"
when 5 then print "Cuma"
when 6 then print "Cumartesi"
when 7 then print "Pazar"
end
#ekrana -Sali- yazacaktir
Case işleminde karşılaştırma yaparken aralık belirtme işlemi de yapabilmekteyiz. Aşağıdaki örnekte hem aralık belirtme hemde else komutunu case ile nasıl yapabileceğimizi daha rahat görebilirsiniz.

case aralık ve else örneği:
Kod:
sayi = 27
case sayi
when 0..20 then print "0-20 araliginda"
when 21..40 then print "21-40 araliginda"
when 41..60 then print "41-60 araliginda"
when 61..80 then print "61-80 araliginda"
when 81..100 then print "81-1000 araliginda"
else print "belirtilen aralikta degil"
end
#ekrana -21-40 araliginda- yazacaktır
Alıntı ile Cevapla

Tavsiye Ettiğimiz Ürünler
Cevapla


Şu an bu konuyu okuyan kişi sayısı: 1 (0 üye ve 1 misafir)
 
Seçenekler
Stil

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık




İçerik sağlayıcı paylaşım sitelerinden biri olan Wmroot.Com webmaster forum Adresimizde T.C.K 20.ci Madde ve 5651 Sayılı Kanun'un 4.cü maddesinin (2).ci fıkrasına göre TÜM ÜYELERİMİZ yaptıkları paylaşımlardan sorumludur.
Her hangi bir xyz forum içeriğinden rahatsızlık duyuyorsanız lütfen bize [email protected] adresinden ulaşınız.
DMCA.com Protection Status sakarya escort sakarya escort sakarya escort sakarya escort alsancak escort

Content Relevant URLs by vBSEO 3.6.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163