Bagaimana cara mendapatkan elemen terakhir dari sebuah array di Ruby?


95

Contoh:

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

Bagaimana cara mendapatkan nilai terakhir 5dalam array aatau nilai terakhir 6dalam array btanpa menggunakan a[3]dan b[4]?

Jawaban:


207

Gunakan -1indeks (indeks negatif dihitung mundur dari akhir larik):

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

atau Array#lastmetode:

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

23
Jangan lupakan kenyamanannya Array#lastjuga :)[1,2,3].last #=> 3
Lee Jarvis

14
@theTinMan Karena pop juga mengubah array, bukan itu yang diminta di sini.
sepp2k

Terima kasih untuk opsi tanda -ve, ini luar biasa.
vidur punj

8
Juga sementara a.last = 10 #=> NoMethodError: undefined method last=' tetapi a[-1] = 10berfungsi sebagaimana mestinya.
GregPK

10

Salah satu cara lain, menggunakan operator percikan:

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

STDOUT:
a: [1, 3, 4]
last: 5
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.