我认为这是一个愚蠢的问题,但我已经搜索过高低不一的答案,并且没有找到任何答案。
array.each_with_index |row, index|
puts index
end
现在,我只想打印数组的前十项。
array.each_with_index |row, index|
if (index>9)
break;
end
puts index
end
有比这更好的方法吗?
答案 0 :(得分:13)
array.take(10).each_with_index |row, index|
puts index
end
如果条件更复杂,请使用take_while
。
经验法则是:迭代器可能被链接:
array.take(10)
.each
# .with_object might be chained here or there too!
.with_index |row, index|
puts index
end
答案 1 :(得分:3)
另一种解决方案是使用Enumerable#first
array.first(10).each_with_index do |row, index|
puts index
end