我正在尝试以下代码:
a = [1,2,3,4]
a.each do
puts "Removing #{a.last}"
a.pop
end
Run Code Online (Sandbox Code Playgroud)
但是没有弹出所有四个数字我只得到第一个3.确实,做一些像放置a.length的东西返回1并且放置它显示元素"1"仍然存在.
我该如何正确使用该方法?(我使用的是Ruby 2.0).
我怀疑这种情况正在发生,因为您在修改列表时迭代列表的元素.
请尝试以下方法:
a = [1,2,3,4]
until a.empty? do
puts "Removing #{a.last}"
a.pop
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1216 次 |
| 最近记录: |