У массивов (и не только) в руби есть удобный метод each_with_index
. Он тоже делает цикл по всем элементам массива, как each
, только добавляет возможность узнать индекс текущего элемента в массиве.
each_with_index
берет массив и прогоняет цикл, передавая в него как каждый элемент, так и индекс этого элемента:
names = ["Vasya", "Kolya", "Petya"]
names.each_with_index do |name, index|
print index
print ": "
puts name
end
Выведет на экран:
0: Vasya
1: Kolya
2: Petya
Индекс элемента "Vasya"
— 0, "Kolya"
—1, а "Petya"
— 2, метод вывел нам как сами элементы (строки), так и индекс каждого из них (число).