Powiedzmy, że mam tablicę
[0, 132, 432, 342, 234]
Jak najłatwiej pozbyć się pierwszego elementu? (0)
ruby-on-rails
ruby
NullVoxPopuli
źródło
źródło
Odpowiedzi:
„wyskakiwanie” pierwszego elementu tablicy nazywa się „ shift ” („unshift” to operacja dodawania jednego elementu przed tablicą).
źródło
nil
pustą tablicę. Sprawdźdrop
alternatywę, jak wspomniano w drugiej odpowiedzi.i dodatkowo:
źródło
[].drop(1) => []
shift
mutuje tablicę na miejscu i zwraca przesunięty element (lubnil
jeśli tablica była pusta)Użyj
shift
metody z tablicyJeśli chcesz usunąć n elementów początkowych, których możesz użyć
x.shift(n)
źródło
W przeciwieństwie do tego
shift
lubslice
zwraca zmodyfikowaną tablicę (przydatne dla jednej linijki).źródło
[][1..-1] => nil
i nie[]
.[1,2,3].shift
jest jedna linijka?arry[1..-1] || []
. Ale arry.drop (1) jest jeszcze lepszy.To całkiem fajne:
Jak napisano w komentarzach, zaletą nie jest mutowanie oryginalnej listy.
źródło
(let ((head (car mylist)) (tail (cdr mylist)) ...)
header, *properties = CSV.read(file_path,encoding: 'ISO-8859-1')
lub
a.delete_at 0
źródło
Użyj metody przesunięcia
https://ruby-doc.org/core-2.2.0/Array.html#method-i-shift
źródło
Możesz użyć:
plasterek! uogólnia na dowolny indeks lub zakres.
źródło
Możesz użyć metody Array.delete_at (0), która usunie pierwszy element.
źródło
unless x.empty?
konieczne. Zwraca po prostu,nil
jeśli indeks jest poza zakresem.Możesz użyć:
Oba mogą działać
źródło
Możesz użyć:
arr - [arr[0]]
albo jeszczearr - [arr.shift()]
albo po prostuarr.shift(1)
źródło