Ruby/Kodo blokai ir ciklai
Ruby kalba nuo pat pradžių buvo kurta palengvinti programavimo darbą ir padaryti jį malonesniu. Programuoti ciklus, apibrėžti papildomus kintamuosius ciklui, kurie cikle didėja, yra monotoniška ir nuobodi procedūra. Galima to nenaudoti Ruby kalboje, bet joje senieji ciklai (while, for, ...) išlieka su labiau elegantiška sintakse. Čia pvz. klasikinio kodo, bet Ruby kalba:
$i = 0; $num = 3; while $i < $num do puts("hi" ); $i +=1; end
Ženklus $(); galima nutrinti. Ruby (); galima dėti, galima ne. $ turi tam tikras funkcijas tik naujame objektiniame kode. Toliau darysim viska dar labiau Ruby'škai. Ruby kodo blokas yra kodas apsuptas {} skliaustais. Taip pažymima, kad visas blokas yra tam tikras kodo vienetas naudojamas kartu. Prieš skliaustus dažniausiai eina koks nors ciklo iškvietimas ar pan.
Times metodas
keistiPirmiausiai times:
3.times {puts "hi"}
Labai suprantamas kodas: kartoti tris kartus. Žinoma vietoj 3 galima naudoti apibrėžtą kintamąjį:
x=3 x.times {puts x}
Each metodas
keistiKitas būdas each metodas. Ciklas atliekamas su visais sąrašo elementais kiek tik jų yra. Elementai žingsniškai perkeliami į naują kintamąjį nurodytą su ||. Skaičiai čia net nesvarbu.
a=['Jonas', 'Petras'] a.each { |zm| puts zm+' ejo'}