Метод Enumerable#find
работает путем оценки до тех пор, пока не найдет элемент, соответствующий условию в блоке. Есть ли что-то подобное для возврата в первый раз, когда блок не оценивается до нуля? представьте, что у вас будет коллекция хэшей:
value = nil
options.each do |o|
break if value = o[:desired]
end
value ||= DEFAULT
разве нет метода, который уже выполняет это?
Нет смысла делать много преобразований в коллекции, я хотел бы свести к минимуму количество выделений, поэтому любое решение, которое выделяет новый массив, мне не подойдет.
nil?
не соответствует вашим требованиям? - person ndnenkov   schedule 07.01.2016