Header Ads

Ruby Kontrol Yapıları


Ruby diğer modern yazılım dillerine göre çok daha basit bir kontrol yapısına sahiptir. Açıklanan tüm ifadeler geriye bir değer döndürür. Bilinmesi gereken en önemli nokta; Ruby’ de nil ve false yanlış(false), geriye kalan her şey ise  doğru(true) olarak değerlenir.

1) IF - ELSIF - ELSE Yapısı:
Öncelikle if, elsif ve else nedir bunlardan bahsedelim. IF kelime anlamı olarak şayet, eğer gibi manalara sahiptir, ELSE kelimesi ise bunların dışında anlamını taşır, ELSIF ise else if ifadesinin kısa hali yani if ve else kelimelerinin birleşimidir. Verilen durum if şartını sağlamıyor ancak elsif şartını sağlıyor olabilir. Eğer ki elsif kullanılmazsa bu durumu direkt else ile ifade ederiz. If-Elsif-Else yapısı şu şekilde kullanılır.

Yapının kafamızda daha iyi oturması için bir örnekle inceleyecek olursak; Verilen bir sayının pozitif mi negatif mi olduğunu test eden kodu yazmayı deneyelim.



Yukarda kodun çıktısı verilen sayımız 13 olduğundan if şartını sağlamıyor ancak elsif şartını sağlayacak ve ekrana "Sayı pozitif" diye yazdıracaktır.


TERNARY YAPISI

Ternary yapısı if - else yapısının tek satıra optimize edilmesi durumudur. Mesela bir if - else durumu verelim ve bunu Ternary ile nasil ifade edebiliriz inceleyelim.

#=> 100
Çıktıdan da anlayacağımız gibi if ifadesindeki şart doğru olarak nitelenmiş ve if ifadesinin içerisindeki kod bloğu çalışmıştır. Yukardaki basit if -else yapısını tek satıra optimize edecek olursak;
sayi % 2 == 0   ?   sayi ** 2  :   sayi ** 3
şeklinde Ternary yapısı kullanabiliriz. Yani Ternary yapısının temeli şu şekildedir:
şart  ?  if durumu  :  else durumu

UNLESS YAPISI

Unless ifadesi Ruby'de if ifadesinin zıttı olarak kullanılır yani daha detaylı açıklarsak if ifadesi doğru(true) olan durumlarda çalışırken unless ifadesi yanlış(false) olan durumlarda çalışır.
Yukardaki örneği unless ile tekrar yazmayı deneyelim, bakalım nasıl bir sonuç çıkacak:



Yazmış olduğumuz bu kodun çıktısı şu şekilde olacaktır:
=> 100

CASE YAPISI

Ruby'de case yapısı if-elsif-else yapısına bir alternatiftir. Case yapısı bir dizi sözdizimini destekleyebilir. Case yapısının nasıl kullanıldığını gösteren bir kaynak kod yazalım ve kod üzerinde inceleme yapalım.


Kodumuzun çıktısı ;  => yasiniz 20 seklinde olucaktır.

DİPNOT : Else ifadesini case yapısı ile de kullanabiliriz. Bunu içeren bir örnek de verelim;


Kodumuzu çalıştırdığımızda a değişkeninde tuttuğumuz değer "kiraz" olduğu için case yapısı bize "bir meyve" değerini geri döndürecektir.


_________________________________________________________________________
Emre İNAÇ
  Ondokuz Mayıs Üniversitesi
       Yıldız Teknik Üniversitesi 

  Samsun
 


Hiç yorum yok

Blogger tarafından desteklenmektedir.