Если у меня есть что-то вроде:
numbers = [2, 88, 0.5, -23.55, 0, -45000]
Я хотел бы вернуть
[2, 88, 0.5, 0]
Использовать выбрать или отклонить
numbers.select { |number| number >= 0 }
или
numbers.reject(&:negative?)
Вы можете использовать могущественный (но часто упускаемый из виду и недооцененный) Enumerable # grep :
numbers.grep 0..Float::INFINITY #=> [2, 88, 0.5, 0]
numbers.grep 0..1/0.0