Come ottenere l'ultimo elemento di un array in Ruby?


94

Esempio:

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

Come ottengo l'ultimo valore 5nell'array ao l'ultimo valore 6nell'array bsenza usare a[3]e b[4]?

Risposte:


204

Usa -1indice (gli indici negativi contano all'indietro dalla fine della matrice):

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

o Array#lastmetodo:

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

23
Non dimentichiamo anche il comodo Array#last:)[1,2,3].last #=> 3
Lee Jarvis

14
@theTinMan Dato che pop modifica anche l'array, non è quello che è stato richiesto qui.
sepp2k

Grazie per l'opzione del segno -ve è tremendo.
vidur punj

8
Anche quello mentre a.last = 10 #=> NoMethodError: undefined method last=' ma a[-1] = 10funziona come previsto.
GregPK

10

Un altro modo, utilizzando l'operatore splat:

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

STDOUT:
a: [1, 3, 4]
last: 5
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.