Ruby ile başlangıç – DÖngüler

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 :)

Ruby ile başlangıç – DÖngüler” üzerine 2 yorum

  1. 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.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir