¿Cómo obtener el último elemento de una matriz en Ruby?


94

Ejemplo:

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

¿Cómo obtengo el último valor 5de la matriz ao el último valor 6de la matriz bsin usar a[3]y b[4]?

Respuestas:


204

Utilice el -1índice (los índices negativos cuentan hacia atrás desde el final de la matriz):

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

o Array#lastmétodo:

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

23
No olvidemos lo conveniente Array#lasttambién :)[1,2,3].last #=> 3
Lee Jarvis

14
@theTinMan Dado que pop también modifica la matriz, no es lo que se pidió aquí.
sepp2k

Gracias por la opción de signo -ve es tremendus.
vidur punj

8
También eso, a.last = 10 #=> NoMethodError: undefined method last=' pero a[-1] = 10funciona según lo previsto.
GregPK

10

De otra forma, usando el operador splat:

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

STDOUT:
a: [1, 3, 4]
last: 5
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.