Ruby'de bir dizinin son elemanı nasıl elde edilir?


96

Misal:

a = [1, 3, 4, 5]
b = [2, 3, 1, 5, 6]

Nasıl son değer alabilirim 5dizideki aveya son değer 6dizideki bkullanmadan a[3]ve b[4]?

Yanıtlar:


208

-1İndeksi kullanın (negatif indeksler, dizinin sonundan geriye doğru sayılır):

a[-1] # => 5
b[-1] # => 6

veya Array#lastyöntem:

a.last # => 5
b.last # => 6

23
Uygun olanı da unutmayalım Array#last:)[1,2,3].last #=> 3
Lee Jarvis

14
@theTinMan pop diziyi de değiştirdiğinden, burada istenen bu değildi.
sepp2k

-Ve işareti seçeneği için teşekkürler muazzam.
vidur punj

8
Ayrıca bu süre a.last = 10 #=> NoMethodError: undefined method last=' ancak a[-1] = 10amaçlandığı gibi çalışıyor.
GregPK

10

Uyarı operatörünü kullanarak başka bir yol:

*a, last = [1, 3, 4, 5]

STDOUT:
a: [1, 3, 4]
last: 5
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.