解决方法
另一种可能更直接可读的可能性是使用
Array#drop
:
- a.drop(3).each do |i|
- # do something with item i
- end
现在,如果结合从Enumerable
继承的其他方法,这真的很发光,所以有可能有更好的选择,你的命令式每个循环.假设您要过滤提取的切片,然后进行变换:
- 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