http://esiyo.net - uordek.essiyoo.each { |yazi| esiyo.net << yazi }

Ruby ile başlangıç - Döngüler

14.12.2006, yazan Tankut ŞENTÜRK

Ruby ile Veri Tabanı serisi ve Ruby ile Resim İşlemleri yazılarının üzerine hiç yakışmıyor ama, yeni başlayanlar ve/veya Ruby ile çalışanlar için bazı ipuçlarıda barındıracak bir yazı yazmam istendi :) emir büyük yerden geldi öyle bakmayın :)

Bu yazıdaki çerez konumuz ruby'de döngüler;
Standart bir döngü..

# 0'dan 14'e döngü
15.times { |index|
    p index
}

Biraz daha kompleks döngüler..

a = 15
b = 35

# 15'den 35'e farkli bir döngü
a.upto(b) { |index|
    p index
}
# 35'den 15'e döngü
b.downto(a) { |index|
    p index
}
# 15'den 35'e 2 ser
a.step(b, 2) { |index|
    p index
}

Dizi tanımlaması ve dizi tabanlı döngüler, bu konu biraz önemli.. Ruby'nin bu konuda söyleyeceği çok şey var.

# 15'den 35'e döngüdür fakat bu numeric bir islem degildir.
# (a..b) islemi bir dizi yaratir ve bu dizi elemanlari uzerinde bir gezinti yapilir.
(a..b).each { |index|
    p index
}
# [], küme parantezleri ile dizi tanımı.
["Tankut", "Senturk","esiyo.net","essiyoo.net","essiyoo.com"].each { |index|
    p index
}
# %w anahtar kelimesi ile dizi tanımı
%w[Tankut Senturk esiyo.net essiyoo.net essiyoo.com].each { |index|
    p index
}
# Karakter aralığı vererek dizi tanımlama
('a'..'z').each { |index|
    p index
}

Görüldüğü gibi ruby'de birçok yöntem var, bunların hepside çok kolay ve uygulaması mantıklı yöntemler, ezberlemenize gerek yok, mantığını anlayın yeterli.

Koşullu düngülere geçecek olursak;

# While'ın yanında yer alan koşul doğru olduğu sürece işlem yapılır.
# Herhangi bir kod bloğunun başında veya sonunda olabilir.
i = 0
while i <10
    i += 1
    p i
end

i = 0
begin
    i += 1
    p i
end while i <10

# Until'ın yanında yer alan koşul doğru olmadığı sürece işlem yapılır.
# Herhangi bir kod bloğunun başında veya sonunda olabilir.
i = 0
until i>= 10
    i += 1
    p i
end

i = 0
begin
    i += 1
    p i
end until i>= 10

Kolay gelsin :)

Bağlı olduğu kategoriler; Bilgisayar, Ruby (Ruby on Rails)

2 Yorum

  1. Sihaya

    Büyük yer ne olaki acaba?… :P
    Teşekkür ederiz efenim bizim gibi yazılıma yeni başlayanlara da yol gösterdiğiniz için.

  2. Uordek

    Biz teşekkür ederiz efenim :)

Yaz aklındakini, çekinme :)

Lütfen: Yorumunuzun değerlendirilmesi ve yayınlanması uzun sürebilir. Yorumunuzu tekrar göndermeniz için bir neden yoktur, inanın tüm yorumları yayınlıyorum. Bazıları hariç :).