gpt4 book ai didi

Ruby 的 "each"方法没有遍历数组中的所有项目?

转载 作者:数据小太阳 更新时间:2023-10-29 07:03:32 26 4
gpt4 key购买 nike

我正在尝试以下代码:

a = [1,2,3,4]  
a.each do
puts "Removing #{a.last}"
a.pop
end

但我并没有弹出所有四个数字,而是只弹出了前 3 个数字。实际上,执行类似 puts a.length 的操作会返回 1 并且 puts-ing 显示元素“1”仍然存在。

我需要如何正确使用该方法?(我正在使用 Ruby 2.0)。

最佳答案

我怀疑发生这种情况是因为您在修改列表时迭代了列表的元素。

尝试以下操作:

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

关于Ruby 的 "each"方法没有遍历数组中的所有项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16477739/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com