Класс Array
определяет метод pop
. Возвращает и удаляет последний элемент в массиве.
a = ["a", "b", "c"]
puts a.pop #=> "c"
puts a #=> ["a", "b"]
При желании вы можете передать pop
аргумент, который указывает, сколько элементов выскочить.
a = ["a", "b", "c"]
puts a.pop(2) #=> ["b", "c"]
puts a #=> ["a"]
Обращаясь к вашему последнему комментарию, вы можете использовать методы include?
, index
и delete_at
для достижения этой цели. Предполагая, что вы проверяете «b» в массиве:
a = ["a", "b", "c"]
value_index = a.index("b") #Returns the first occurring index of "b"
has_value = a.include?("b") #Returns whether "b" is in the list
a.delete_at(a.index("b")) if has_value #Removes "b" from the list
В этом примере «has_value» будет указывать, содержит ли массив a
значение «b», а «value_index» будет первым появлением «b». Это также приведет к удалению значения «b» из списка.
Если вы хотите удалить все вхождений "b", вы можете использовать include?
, index
и delete_at
с циклом while:
a = ["a", "b", "c", "a", "b", "c"]
while a.include?("b")
a.delete_at(a.index("b"))
end
#a will now be ["a", "c", "a", "c"]
См. Также документацию по массиву .