Широко распространенным способом является использование each
.Не только потому, что он более рубиновый, но и потому, что из Ruby 1.8.7+ each
возвращает объект Enumerator , который можно использовать для создания magic интересных функциональных вещей.
Также: в случае сомнений, тест **
require "benchmark"
array = [*1..100_000]
Benchmark.bm(11) do |x|
x.report("for .. in") { array.each{ |i| i.succ } }
x.report("each") { for i in array; i.succ; end }
end
** Если вы обнаружите, что прирост производительности в 0,00000001 наносекундах в вашем коде равенрелевантно, вероятно, вы не должны использовать Ruby в любом случае.