Я выводлю список элементов из массива в Ruby. Мне нужно вывести позицию каждого элемента в массиве, а также значение. Я думал, что я был умным, используя индекс значения, когда я перебирал массив, а не устанавливал переменную временного счетчика, но я чувствовал себя обессиленным, когда у меня был массив с дублирующимися элементами. Смотри ниже ...
array = ["a","b","c","a"]
array.each do |letter|
puts "Position: #{array.index(letter)} - Letter: #{letter}"
end
# Position: 0 - Letter: a
# Position: 1 - Letter: b
# Position: 2 - Letter: c
# Position: 0 - Letter: a # Oops! That's not the position of that item.
Ниже приведен самый эффективный способ генерации желаемого результата или есть лучший способ сохранить присваивание переменной счетчика, содержащееся в каждом цикле do?
array = ["a","b","c","a"]
counter = 0
array.each do |letter|
puts "Position: #{counter} - Letter: #{letter}"
counter += 1
end
# Position: 0 - Letter: a
# Position: 1 - Letter: b
# Position: 2 - Letter: c
# Position: 3 - Letter: a