Ruby: Какой самый простой способ удалить первый элемент из массива? Допустим, у меня есть массив [0, 132, 432, 342, 234] Каков самый простой способ избавиться от первого элемента? (0) Ответ 1 "pop" первого элемента массива называется " shift" ( "unshift" являющийся операцией добавления одного элемента перед массивом). Ответ 2 Используйте метод shift для массива >> x = [4,5,6] => [4, 5, 6] >> x.shift => 4 >> x => [5, 6] Если вы хотите удалить n исходных элементов, вы можете использовать x.shift(n) Ответ 3 a = [0,1,2,3] a.drop(1) # => [1, 2, 3] a # => [0,1,2,3] и дополнительно: [0,1,2,3].drop(2) => [2, 3] [0,1,2,3].drop(3) => [3] Ответ 4 [0, 132, 432, 342, 234][1..-1] => [132, 432, 342, 234] Таким образом, в отличие от shift или slice, это возвращает модифицированный массив (полезный для одного лайнера). Ответ 5 Это довольно аккуратно: head, *tail = [1, 2, 3, 4, 5] #==> head = 1, tail = [2, 3, 4, 5] Как написано в комментариях, есть преимущество не изменять исходный список. Ответ 6 или a.delete_at 0 Ответ 7 Вы можете использовать: a.slice!(0) slice! обобщает на любой индекс или диапазон. Ответ 8 Использовать метод сдвига array.shift(n) => Remove first n elements from array array.shift(1) => Remove first element https://ruby-doc.org/core-2.2.0/Array.html#method-i-shift Ответ 9 Вы можете использовать метод Array.delete_at (0), который удалит первый элемент. x = [2,3,4,11,0] x.delete_at(0) unless x.empty? # [3,4,11,0] Ответ 10 Вы можете использовать: arr - [arr[0]] или иначе arr - [arr.shift()] или просто arr.shift(1)
Ответ 1 "pop" первого элемента массива называется " shift" ( "unshift" являющийся операцией добавления одного элемента перед массивом).
Ответ 2 Используйте метод shift для массива >> x = [4,5,6] => [4, 5, 6] >> x.shift => 4 >> x => [5, 6] Если вы хотите удалить n исходных элементов, вы можете использовать x.shift(n)
Ответ 3 a = [0,1,2,3] a.drop(1) # => [1, 2, 3] a # => [0,1,2,3] и дополнительно: [0,1,2,3].drop(2) => [2, 3] [0,1,2,3].drop(3) => [3]
Ответ 4 [0, 132, 432, 342, 234][1..-1] => [132, 432, 342, 234] Таким образом, в отличие от shift или slice, это возвращает модифицированный массив (полезный для одного лайнера).
Ответ 5 Это довольно аккуратно: head, *tail = [1, 2, 3, 4, 5] #==> head = 1, tail = [2, 3, 4, 5] Как написано в комментариях, есть преимущество не изменять исходный список.
Ответ 8 Использовать метод сдвига array.shift(n) => Remove first n elements from array array.shift(1) => Remove first element https://ruby-doc.org/core-2.2.0/Array.html#method-i-shift
Ответ 9 Вы можете использовать метод Array.delete_at (0), который удалит первый элемент. x = [2,3,4,11,0] x.delete_at(0) unless x.empty? # [3,4,11,0]
Ответ 10 Вы можете использовать: arr - [arr[0]] или иначе arr - [arr.shift()] или просто arr.shift(1)