Допустим, у меня есть массив
[0, 132, 432, 342, 234]
Какой самый простой способ избавиться от первого элемента? (0)
ruby-on-rails
ruby
NullVoxPopuli
источник
источник
Ответы:
« Высовывание» первого элемента массива называется « смещение » («unshift» - операция добавления одного элемента перед массивом).
источник
nil
пустой массив. Смотритеdrop
для альтернативы, как упомянуто в другом ответе.и дополнительно:
источник
[].drop(1) => []
shift
мутирует массив на месте и возвращает смещенный элемент (или,nil
если массив был пустым)Используйте
shift
метод на массивеЕсли вы хотите удалить n начальных элементов, вы можете использовать
x.shift(n)
источник
Таким образом, в отличие от
shift
илиslice
это возвращает модифицированный массив (полезно для одного лайнера).источник
[][1..-1] => nil
и нет[]
.[1,2,3].shift
это не однострочник?arry[1..-1] || []
. Но arry.drop (1) еще лучше.Это довольно аккуратно:
Как написано в комментариях, есть преимущество в том, что вы не изменяете первоначальный список.
источник
(let ((head (car mylist)) (tail (cdr mylist)) ...)
header, *properties = CSV.read(file_path,encoding: 'ISO-8859-1')
или
a.delete_at 0
источник
Используйте метод смены
https://ruby-doc.org/core-2.2.0/Array.html#method-i-shift
источник
Ты можешь использовать:
ломтик! обобщает на любой индекс или диапазон.
источник
Вы можете использовать метод Array.delete_at (0), который удалит первый элемент.
источник
unless x.empty?
это необходимо. Это просто возвращает,nil
если индекс находится вне диапазона.Ты можешь использовать:
Оба могут работать
источник
Вы можете использовать:
arr - [arr[0]]
или ещеarr - [arr.shift()]
или простоarr.shift(1)
источник