我有一個Ruby(1.9.2)數組,我需要從中刪除一個對象。簡單的問題關於從Ruby數組中刪除對象
[object1, object2, object3]
目前我正在做
array.delete_at(1)
其去除對象,但隨後在該索引在空陣列點。
[object1, , object3]
如何刪除一個對象,以便調整數組的大小以便數組中沒有空白點?
[object1, object3]
感謝您的閱讀。
我有一個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.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