本帖最后由 feizhaodan 于 2012-10-10 18:28 编辑 其实比较安全的方法就是在遍历的时候,将要删除的要素改成nil,遍历后使用compact!方法清除nil要素。 然后这类讨论问题最好发到讨论区,原创技术发布区主要还是用来发布一些脚本或事件范例的囧 |
是枚举类的内置方法 a=[b,c,d] a.delete_if{|obj| obj.id%2==0} |
delete_if 。 |
敢加个clone吗? |
动态数组遍历时修改数组本身就是不安全的吧 = = 完全可以遍历前后再进行修改 |
的确,删除后面的元素不会出问题应该,但是删除的元素位置大多都是不确定的可是。虽然性能会降低,我还是这样修改吧,遍历中要删除的元素放在一个其他的数组中,等遍历结束后再来删除。 |
从后面删除吧。 a.reverse.each{|e| ...} |
站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作
GMT+8, 2025-1-27 14:18
Powered by Discuz! X3.1
© 2001-2013 Comsenz Inc.