Ruby的“每个”方法不会遍历数组中的所有项目?
发布时间:2020-12-16 21:44:41 所属栏目:百科 来源:网络整理
导读:我正在尝试以下代码: 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,2,3,4] a.each do puts "Removing #{a.last}" a.pop end 但是没有弹出所有四个数字我只得到第一个3.确实,做一些像放置a.length的东西返回1并且放置它显示元素“1”仍然存在. 我该如何正确使用该方法? 解决方法
我怀疑这种情况正在发生,因为您在修改列表时迭代列表的元素.
请尝试以下方法: a = [1,4] until a.empty? do puts "Removing #{a.last}" a.pop end (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |