Источник: Nuances of Programming мире программирования на Ruby универсальный метод select — больше, чем просто базовый инструмент для фильтрации массивов. Многие ограничиваются простыми способами его применения, но имеются и продвинутые, цель которых — решение сложных задач, манипулирование данными, удобный для восприятия код. С пониманием всего потенциала select код Ruby пишется эффективнее и новичками, и профи. В блоке select с массивом внутри оценивается, истинно условие или ложно, выдается новый, удовлетворяющий условию массив. Типичное применение метода select — выбор нечетных чисел числового массива. Пример 1: [1, 2, 3, 4, 5, 6].select { |n| n.odd? }
=> [1, 3, 5] Методом to_proc сокращаем этот код. Пример 2: [1, 2, 3, 4, 5, 6].select(&:odd?)
=> [1, 3, 5] Продвинутые варианты применения Метод «select!» Это один из методов с восклицательным знаком для фильтрации массива на месте: вместо выдачи нового массива здесь меняется исходный. Пример 3: first_array = [1, 2, 3, 4, 5, 6]