【发布时间】:2011-02-22 08:34:55
【问题描述】:
我是否正确地说在遍历数组时使用 delete_at 很危险?如下情况,删除后退出循环和函数怎么办?
arr.each_index do |i|
if arr[i] == 5
arr.delete_at(i)
return
end
end
【问题讨论】:
-
为什么只删除第一个
5,而不是全部? -
5其实是一个地名,在数据库中多次存在。检测到重复后,将根据用户选择将其删除并替换为更具体的名称。然后重新提交以进一步澄清重复的地名。我只想一次做一个,所以一次只要求用户澄清一个地名。希望这是有道理的。