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

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

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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.