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]?

Rails pemula
sumber

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
KL-7
sumber
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
Lewis Buckley
sumber