Ответ 1
У меня есть массив элементов, и мне нужно удалить первые x его элементов.
Для неразрушающего удаления
Array#drop(x)
будет работать для вас.
Отбрасывает первые n элементов из ary и возвращает остальные элементы в массиве. Если задано отрицательное число, возникает ArgumentError.
my_items = [ 'item1', 'item2', 'item3', 'item4' ]
p my_items.drop(2)
p my_items
# >>["item3", "item4"]
# >>["item1", "item2", "item3", "item4"]
Деструктивное удаление
Удаляет первый элемент self и возвращает его (сдвигая все остальные элементы на один). Возвращает nil, если массив пуст. Если задано число n, возвращается массив из первых n элементов (или меньше), как и array.slice! (0, n).
my_items = [ 'item1', 'item2', 'item3', 'item4' ]
my_items.shift(2)
p my_items # => ["item3", "item4"]