简单的问题关于从Ruby数组中删除对象
问题描述:
我有一个Ruby(1.9.2)数组,我需要从中删除一个对象。简单的问题关于从Ruby数组中删除对象
[object1, object2, object3]
目前我正在做
array.delete_at(1)
其去除对象,但随后在该索引在空阵列点。
[object1, , object3]
如何删除一个对象,以便调整数组的大小以便数组中没有空白点?
[object1, object3]
感谢您的阅读。
答
irb> a = [1,2,3]
=> [1, 2, 3]
irb> a.delete_at 1
=> 2
irb> a
=> [1, 3]
这里没有斑点......
+1
经确认,符合1.8.7,1.9.1和1.9.2 – 2010-11-18 13:37:07
答
我觉得切!在方法你正在寻找
>> arr = [object1, object2, object3]
[object1, object2, object3]
>> arr.slice!(1)
object2
>> arr
[object1, object3]
对于未来的参考,如果你有一个零元素的数组,你可以使用'Array.compact'脱光他们出去了。 – 2010-11-18 17:36:55
不知道为什么你的问题被downvoted,但我做了+1,因为这是一个有效的问题。 – 2010-11-18 17:38:52