Ruby’de Koşullu İfadeler ve Döngüler

Ruby-Eğitim-Serisi_ders4_ana

Merhaba arkadaşlar,

Bir önceki dersimizde Ruby’de fonksiyon(metod)ları anlatmıştık. Bu dersimizde ise Ruby’de koşullu ifadeler ve basit anlamda döngülerden bahsedeceğim.

Koşullu İfadeler

Dersimize başlamadan önce herhangi bir koşullu ifade nasıl yazılır bunu öğrenmemiz gerekiyor.

Ruby’de herhangi bir satırda (==) eşitlik operatörünü, herhangi iki değeri eşitlerken kullanırsak, eşitliğin durumuna göre bize true veya false değerlerini döndürecektir.

Aşağıdaki resimde de görebileceğiniz üzere 1==1 ifadesinin bize true döndürdüğünü konsol ekranınızı kullanarak da test edebilirsiniz.

Ekran Resmi 2014-11-21 14.26.32

Yukarıdaki ifadenin true veya false döndürmesinin sebebi, bir önceki derslerimizde de bahsettiğimiz üzere Ruby’deki her bir ifadenin bir değer döndürmek zorunda olmasından kaynaklanmaktadır. Bu durum koşullu ifadeler içinde geçerlidir ve eşitliğin durumuna göre bize true veya false döndürecektir.

Aşağıdaki kod satırında ise (!=) eşit değil operatörünü görebilirsiniz ve aşağıdaki ifadenin çıktısı false olacaktır.

Ekran Resmi 2014-11-21 14.40.00

Not: Ruby de koşullu ifadeleri kullanırken parantez kullanmak zorunda değilsiniz.

IF – Koşullu İfadesi

Ruby’de ve diğer dillerde olduğu gibi if koşullu ifadesinin en kolay kullanım şekli, çok satırlı olarak yazdığımız halidir. Basit anlamda kullanım şeklini aşağıdaki resmide görebilirsiniz.

Ekran Resmi 2014-11-21 14.49.29

Yukarıdaki kod satırlarında da görebileceğiniz üzere, a değişkenine tanımladığımız değer, 10 den büyük ise ekrana ‘merhaba’ çıktısını basacaktır.

Ruby’nin en çok sevdiğim özelliklerinden biri kod karmaşasını engelleyip olabildiğince kodu sade tutmamızı sağlayan özelliklerinin olması 🙂 Buna şu şekilde küçük bir örnek verebilirim, yukarıdaki if koşul ifadesini aşağıdaki yazım şeklini kullanarak da istediğimiz çıktıyı alabiliyoruz.

Ekran Resmi 2014-11-21 14.51.38

Çok satırlı olarak kullandığımız if koşullu ifadelerini tek satırda yazmak istiyorsak da aşağıdaki kod satırını kullanabiliriz.

Ekran Resmi 2014-11-21 14.57.06

Yukarıdaki kod satırlarında aslında ilk örneğimizde yaptığımız if koşullu ifadesinin tek satırda yazılmış halidir, aradaki noktalı virgüller(;) Ruby’de alt satıra geçmeden aynı satırda kodu yazmaya devam etmemizi sağlayacaktır.

Ternary If

Çoğu dilde olduğu gibi Ruby’de de ternary if leri kullanabiliyoruz, yine aynı şekilde aşağıdaki kod satırlarını inceleyerek fikir sahibi olabilirsiniz.

Ekran Resmi 2014-11-21 15.15.32

Yukarıdaki kod satırlarında a değeri 10 dan küçük ise ‘yes’ ifadesini değil ise ‘no’ ifadesini basacaktır, bu tarz ternary if kullanımlarında (:) ifadesinin solu koşul başarılı ise sağ tarafı koşul başarısız ise çalışacaktır.

If Else Kullanımı

Ruby’de basit anlamda if-else kullanımına örneği aşağıdaki kod satırında görebilirsiniz.

Ekran Resmi 2014-11-21 15.23.50

Yukarıdaki kod bloğunda a değişkeninin değeri 30 dan büyükse ekrana basılacak ifade ‘merhaba’ aksi halde ‘oops’ olacaktır.

UNLESS – Koşullu İfadesi

Unless, If’in tersi yani if not anlamına gelmektedir, ancak Unless, if not’ın aksine tüm koşul ifadesi için geçerli olur. Kullanımı için aşağıdaki kod satırlarını inceleyebilirsiniz.

Ekran Resmi 2014-11-21 15.47.51

Yukarıdaki kod satırında a değişkenin hem 10 dan hemde 15 den büyük olmadığı durumda ekrana ‘merhaba’ ifadesini basacaktır.

CASE – Koşullu İfadesi

Case bir koşul ifadesi olmasına karşın, biraz daha farklı bir yapıya sahip. Yani if ile tam olarak gerçekleştiremeyeceğimiz bazı işlemleri daha kolay yapabiliyoruz. Aynı zamanda tek bir değişken üzerinden birden fazla koşul ifadesini uygulamamızı sağlıyor.

Aşağıdaki örneği inceleyerek daha detaylı bilgi sahibi olabilirsiniz.

Ekran Resmi 2014-11-21 16.10.06

Yukarıdaki kod satırlarında, bir metod tanımlıyoruz ve bu metoda gelen değer 6 ise, metoddan dönen değer ‘merhaba’; 7 ise dönen değer ‘7’; her iki koşula da uymuyorsa ‘nothing’ ifadesi geri döndürülecektir.

Case kullanımına bir başka örneği de aşağıda görebilirsiniz.

Ekran Resmi 2014-11-21 16.16.51

Yukarıdaki kod satırında ise case’e gelen 10 değeri 5 ile 20 arasında ise ekrana ‘merhaba’ ifadesini basacaktır.

Döngüler

Döngü adından da anlaşılacağı üzere, bir döngü kuracağımız zaman uygulamanın belirli sayıda tekrar etmesini istediğimiz durumlarda kullanabileceğimiz ifadelerdir. Bu ifadeleri basit anlamda sırasıyla inceleyelim.

WHILE – Döngüsü

Çoğumuzun zaten aşina olduğu while döngüsünün Ruby’de kullanımı aşağıdaki kod satırında inceleyebilirsiniz.

Ekran Resmi 2014-11-21 16.31.13

Yukarıdaki kod satırında, i 10 dan küçük olduğu sürece ekrana ‘merhaba’ yazacaktır.

Aynı ifadenin bir başka kullanım şeklini aşağıda görebilirsiniz.

Ekran Resmi 2014-11-21 16.33.40

Yine aynı şekilde ifadenin tek satırda yazılmasını istediğimiz durumlarda da aşağıdaki kod satırını kullanabilirsiniz.

Ekran Resmi 2014-11-21 16.35.04

UNTIL – Döngüsü

Until, While’ın tam tersidir. Yani bir koşul false döndürdüğü zaman çalışmaya devam eder. Ta ki o koşul doğru olana dek.

Ekran Resmi 2014-11-21 16.39.43

Yukarıdaki ifadede, i 10 dan büyük olana kadar ekrana ‘merhaba’ çıktısını basacaktır.

FOR – Döngüsü

For aslında Ruby’de pek fazla tercih edilmeyen bir komuttur. Çünkü yerine each dediğimiz ayrı bir ifade var ancak bunu farklı bir dersimizde göreceğiz.

Ekran Resmi 2014-11-21 16.43.44

Yukarıdaki ifadede döngü 1’den başlayıp 5’e kadar devam edecek ve ekrana bu değerleri basacaktır.

 

Evet arkadaşlar, bugünkü dersimizde Ruby’de koşullu ifadeler ve basit anlamda döngülerin kullanımı hakkında bilgi sahibi olduk. Bir sonraki derslerimizde Ruby’nin sağladığı kolaylıkları daha yakından görmeye başladığımız zaman Ruby’i çok daha fazla sevmeye başlayacaksınız 🙂

Bir sonraki dersimizde görüşmek üzere…

Onur Eren Elibol Yazar Hakkında