【发布时间】:2018-10-09 01:12:36
【问题描述】:
我在某个序列的中间有一个枚举器:
enum = (1..9).each
first = enum.next
second = enum.next
现在我想循环遍历序列的其余部分(3..9 个数字)。但似乎很明显的解决方案(例如在 python 中有效),从序列的开头而不是第三项重新开始:
for item in enum
puts item
end
# prints 1..9 instead of 3..9
我发现的可行解决方案看起来很丑:
begin
while item=enum.next
puts item
end
rescue StopIteration
end
所以问题是:有没有更好的 rubyish 解决方案来做这件事?为什么 Ruby 中的 for 循环会这样?
【问题讨论】:
标签: ruby for-loop iterator enumerator