加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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”仍然存在.

我该如何正确使用该方法?
(我使用的是Ruby 2.0).

解决方法

我怀疑这种情况正在发生,因为您在修改列表时迭代列表的元素.

请尝试以下方法:

a = [1,4]
until a.empty? do
  puts "Removing #{a.last}"
  a.pop
end

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读