2010-11-18 6 views
0

私はオブジェクトを削除する必要があるRuby(1.9.2)配列を持っています。オブジェクトを削除しますが、その後、そのインデックスの空の配列のスポットがあり、私はRubyの配列からオブジェクトを削除する簡単な質問

array.delete_at(1) 

をやってる瞬間

[object1, object2, object3] 

[object1, , object3] 

配列のサイズが変更されたように、アレイ内の空のスポットが存在しないようにどのように私は、オブジェクトを削除しますか?

[object1, object3] 

お読みいただきありがとうございます。

+0

するための方法を探しているされて、あなたが剥離するために 'Array.compact'を使用することができますそれらを出す。 –

+0

なぜあなたの質問が下落したのか分かりませんが、それは正当な質問なので+1しました。 –

答えて

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 –

0

スライスだと思います!あなたがnilの要素を持つ配列を持っている場合は、今後の参考のため

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

>> arr.slice!(1) 
object2 

>> arr 
[object1, object3]