下面的数组迭代工作正常
data = [17, 22, 12, 24]
data.each do |item|
puts "number: #{item}"
end
我希望将每个新字符串插入到同一个数组中,而不是执行 puts
.以下方法失败且没有错误。我不确定这是否会造成无限循环。
data = [17, 22, 12, 24]
data.each do |item|
data << "number: #{item}"
end
我也试过insert
而不是 <<
, 但同样的问题出现了。
最佳答案
如果要将新项添加到数组中,请执行以下操作:
data = [17, 22, 12, 24]
data.concat data.collect{|i| "number: #{i}"}
# data => [17, 22, 12, 24, "number: 17", "number: 22", "number: 12", "number: 24"]
如果您只想用新项目替换数据的内容:
data = data.collect{|i| "number: #{i}"}
关于ruby - 在修改同一个数组的同时遍历数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26610264/