Petla for w rubym

Od niedawna programuje w rubym, przez pewien czas szukalem odpowiednika petli for dla rubiego. Po dlugich poszukiwaniach i po duzej pomocy kolegi z pracy udalo sie odnalezc odpowiednik for dla rubiego

[‘a’, ‘b’, ‘c’].each_with_index do |item, index|
puts “At position #{index}: #{item}”
end

Ameryki nie odkryłeś, przykro mi :-). Niestety nie nazwałbym tego odpowiednikiem pętli for z innych języków, gdyż each_with_index iteruje po jakiejś tablicy, zaś pętla for nie ma nic z tablicami wspólnego.

Dla ścisłości dodam, że w Rubym istnieje przecież pętla for. Jeżeli nie ma mieć nic wspólnego z tablicami to wygląda tak:

for i in 1..10 do ... end
chociaż wygodniej jest zrobić

10.times do |n| ... end
Jeżeli ma iterować po czymkolwiek to

for person in people ... end
Zauważcie, że “do” na końcu jest opcjonalne.

Zresztą działanie pętli opiera się na metodzie each, czyli już dla obiektu Hash for weźmie dwa parametry:

for key,value in my_hash do ... end