2010-11-18 14 views
0

Bir nesneyi kaldırmam gereken bir Ruby (1.9.2) dizim var. Şu anda Bir Ruby dizisinden bir nesneyi silme hakkında basit soru

[object1, object2, object3] 

Ben nesneyi kaldırır
array.delete_at(1) 

yapıyorum, ama sonra o dizinde boş bir dizi nokta var.

[object1, , object3] 

Dizide bir boş nokta olmaması için diziyi yeniden boyutlandırılacak şekilde bir nesneyi nasıl kaldırırım?

[object1, object3] 

Okuma için teşekkürler.

+0

yöntemi aradığınız edilir, sen şerit 'Array.compact' kullanabilirsiniz Onları dışarı. –

+0

Sorunuzun neden reddedildiğinden emin değilsiniz, ancak geçerli bir soru olduğu için + 1'ledim. –

cevap

4
irb> a = [1,2,3] 
=> [1, 2, 3] 
irb> a.delete_at 1 
=> 2 
irb> a 
=> [1, 3] 

yok burada noktalar ...

+1

Onaylandı, 1.8.7, 1.9.1 ve 1.9.2 ile –

0

Bence dilim! Eğer sıfır elemanlı bir dizi varsa İleride

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

>> arr.slice!(1) 
object2 

>> arr 
[object1, object3]