Есть ли встроенный способ удаления значения из массива на основе условия блока, возвращающего true, и возврата значения, которое было удалено?
Это упрощенная версия того, что я пытаюсь сделать, но кажется, что должен быть лучший способ:
array = [1,2,3,4,5,6,7,8,9,10]
index = array.index {|v| v == 5} # returns index if block is true
value = array.delete_at(index) # deletes and returns element at index
value
тогда 5