2010-11-18 89 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]