Ответ 1
Другая, возможно более прямая и читаемая возможность заключается в использовании Array#drop
:
a.drop(3).each do |i|
# do something with item i
end
Теперь это действительно сияет, если оно сочетается с другими методами, унаследованными от Enumerable
, поэтому есть вероятность, что вам будет лучше альтернатива вашему императиву each
цикла. Предположим, вы хотите отфильтровать извлеченный фрагмент и затем преобразовать его:
a = [0,1,2,3,4,5,6,7]
a.drop(3).select(&:even?).map { |x| x * 2 }
# => [8, 12]
Или скажите, что вы хотите распечатать список всех значений:
a = ["1", "2", "3", "4", "5"]
puts a.drop(3).join("\n")
Вывод:
4
5
Эти функции, унаследованные от функционального программирования, делают Ruby настолько сильным :)