2010-11-18 37 views
0

我有一个Ruby(1.9.2)数组,我需要从中删除一个对象。简单的问题关于从Ruby数组中删除对象

[object1, object2, object3] 

目前我正在做

array.delete_at(1) 

其去除对象,但随后在该索引在空阵列点。

[object1, , object3] 

如何删除一个对象,以便调整数组的大小以便数组中没有空白点?

[object1, object3] 

感谢您的阅读。

+0

对于未来的参考,如果你有一个零元素的数组,你可以使用'Array.compact'脱光他们出去了。 – 2010-11-18 17:36:55

+0

不知道为什么你的问题被downvoted,但我做了+1,因为这是一个有效的问题。 – 2010-11-18 17:38:52

回答

4
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

0

我觉得切!在方法你正在寻找

>> arr = [object1, object2, object3] 
[object1, object2, object3] 

>> arr.slice!(1) 
object2 

>> arr 
[object1, object3]