前端之家收集整理的这篇文章主要介绍了
Ruby的“每个”方法不会遍历数组中的所有项目?,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试以下
代码:
a = [1,2,3,4]
a.each do
puts "Removing #{a.last}"
a.pop
end
但是没有弹出所有四个数字我只得到第一个3.确实,做一些像放置a.length的东西返回1并且放置它显示元素“1”仍然存在.
我该如何正确使用该方法?
(我使用的是Ruby 2.0).
我怀疑这种情况正在发生,因为您在
修改列表时迭代列表的元素.
请尝试以下方法:
a = [1,4]
until a.empty? do
puts "Removing #{a.last}"
a.pop
end
原文链接:https://www.f2er.com/ruby/266903.html