5 Mayıs 2014 Pazartesi
Ruby Hızlı Bakış
Evet Ruby programlama hakkında hızlı bir tur atmaya ne dersiniz,Pınar Yanardağ'ın hazırlamış olduğu slayt show ile hızlı bir ruby turu yapalım.
Slayt show'un sahibi olan pinguar'a teşekkürlerimi sunarım.
Ruby Programlama-Koşullu Dallanmalar
Ruby Programlama-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 :
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.
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.
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:
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.
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.
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.
Aşağıdaki kodlarda ternary işleminin Ruby’deki kullanımına örnektir:
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:
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:
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:
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
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 :
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.
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.
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:
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.
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.
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.
Aşağıdaki kodlarda ternary işleminin Ruby’deki kullanımına örnektir:
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:
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:
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:
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
Etiketler:
rubyde dallanmalar,
rubyde else işlemi,
rubyde elsif işlemi,
rubyde if işlemi,
rubyde kısa if işlemi,
rubyde kontrol yapıları,
rubyde ternary operatörü,
rubyde unless işlemi
Kaydol:
Kayıtlar (Atom)