Header Ads

Ruby Döngüler (Loops)


Duruma göre bazen bir metni 10 kez yazdırmak isteyebilirsiniz. Bunu "print" komutu ile yapabilirsiniz ancak döngü kurarak yapmak daha basit olacaktır. Yapmanız gereken tek şey yazmak istediğiniz kod bloğuna belli bir sayıda aynı işlemi yapacak bir döngü kurmak. Ruby dilinde kaç çeşit döngü var ve bu döngüleri nasıl kurabiliriz onları incelemeye başlayalım:

WHILE DÖNGÜSÜ
    While döngüsü yapı olarak çok basittir. İstenilen şart doğru(true) bir değere sahip olduğu sürece tekrar tekrar kodu çalıştırır.
Sözdizimi:


    Örnek bir kaynak kod ile While döngüsünün çalışma mantığını görmeye çalışalım.Mesela 1 den 10 a kadar sayıları sıra ile yazdıran basit bir işlem yapalım.


Kodumuzun çıktısı şu şekilde olacaktır.
    #=> 1 2 3 4 5 6 7 8 9 10

    Kodumuz mevcut sayıyı yazdırdıktan sonra "x += 1" komutu ile sayımızı bir artırıp bir sonraki adıma geçiyor. Sayımız son adımda tekrar artırılıp 11 olduğunda while döngüsünün şartını sağlamadığı için döngüye girmez ve döngü sonlandırılır.
    Yukarıdaki kodu daha kısa ve farklı bir şekilde de yazabiliriz.



    C ve JAVA dillerindeki do-while dongü yapısı ile aynı şekilde çalışan yapının Ruby' deki karşılığı şu şekildedir. Bu yapıda "begin" komutunu kullanırız.Yukarıdaki kodu tekrar ele alalım.


    Kodumuz döngüye girmeden önce bir kez istenilen durumu çalıştıracak ve daha sonra döngünün şartına uyup uymadığını kontrol edecektir.

UNTIL DÖNGÜSÜ
    Until döngüsünü mantıken while döngüsünün tersi olarak düşünebiliriz. While da şartın doğruluğu sağlandığı takdirde döngümüz çalışırken until de tam tersi durumda yani şartımız yanlış(false) değer aldığında döngü çalışır.
Sözdizimi:



   While da kullandığımız örnek kodu until ile tekrar yazalım bakalım nasıl olacak:




    Yazdığımız kodun çıktısı şu şekilde olacaktır.
    #=> 1 2 3 4 5 6 7 8 9 10
    Görüldüğü gibi aynı sonucu aldık. Ancak bu sefer döngü şartımız bahsettiğimiz gibi yanlış(false) değer alıyor ve bu sebepten döngü çalıştırıyor. x değerimiz en son adımda 11 değerini aldığında şartımız doğru(true) değer verdiğinden döngü de sonlandırılıyor.
    Until döngüsünü de daha kısa ve farklı şekilde yazabilmemiz mümkündür.
    Sözdizimi:



Aynı örneği bu durum içinde kullanalım ve kullanışını görelim.


FOR DÖNGÜSÜ

    Diğer yazılım dillerinde olduğu gibi, Ruby de for döngüsüne sahiptir.

Söz dizimi:



- While ve until gibi "do" tercihe bağlıdır.
- For döngüsü, each döngüsüne benzer
- For döngüsünün sonuç değeri, break kullanılmadığı sürece
yinelenen değerdir.
- Ruby geliştiricileri for döngüsünü çok nadiren tercih ederler.
  For döngüsü ile örnek bir kod yazıp çıktısını inceleyelim.



#=> 1 2 3 4
    Çıktımızda for döngüsü, kendisine şart olarak verilen bir aralıktaki değerleri esas alarak çalışır.

BREAK DURUMU
    Ruby’ de döngümüzü istenilen değerden önce sonlandırmak için break durumunu kullanırız. Ayrıca bazı durumlarda döngümüzün sonsuz döngüye girmesini engellemek amacı ile de kullanılır.
Sözdizimi:
    break if Şart
    Break kullanımı bir kaynak kod üzerinde görelim

Kodumuzun çıktısı şu şekilde olacaktır.
#=> 1 2 3 4 5

    Döngümüzün çalışma şartı true olduğundan normalde sonsuz bir döngü olması beklenirken break şartı olarak x > 5 değerini girdiğimiz için x değerimiz 6 olduğunda döngü sonlandırılacaktır.

NEXT DURUMU
    Bir döngü esnasında yinelemenin mevcut durumunun kalanını es geçmek için next anahtar sözcüğünü kullanırız.
    For döngüsü ile örnek bir kullanımını inceleyelim


Bu örnek kodun çıktısını da görelim
#=> X değeri : 0
    X değeri : 1
    X değeri : 2
    X değeri : 3
________________________________________________________________________
Emre İNAÇ
  Ondokuz Mayıs Üniversitesi
       Yıldız Teknik Üniversitesi 

  Samsun
 


Hiç yorum yok

Blogger tarafından desteklenmektedir.