Jak zdobyć ostatni element tablicy w Rubim?

95

Przykład:

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

Jak uzyskać ostatnią wartość 5w tablicy alub ostatnią wartość 6w tablicy bbez używania a[3]i b[4]?

Początkujący w Railsach
źródło

Odpowiedzi:

207

Użyj -1indeksu (indeksy ujemne liczą się wstecz od końca tablicy):

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

lub Array#lastmetoda:

a.last # => 5
b.last # => 6
KL-7
źródło
23
Nie zapominajmy Array#lastteż o wygodach :)[1,2,3].last #=> 3
Lee Jarvis
14
@theTinMan Ponieważ pop również modyfikuje tablicę, nie o to tutaj pytano.
sepp2k
Dzięki za opcję -ve znak jego tremendus.
vidur punj
8
Również w tym czasie, a.last = 10 #=> NoMethodError: undefined method last=' ale a[-1] = 10działa zgodnie z przeznaczeniem.
GregPK
10

W inny sposób, używając operatora splat:

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

STDOUT:
a: [1, 3, 4]
last: 5
Lewis Buckley
źródło