Чем Enumerable#select и reject отличается от if внутри цикла и когда что выбирать?

Ruby / RailsJuniorBlocks, Proc, Lambda и EnumerableСравнениеblocksproclambda и enumerable|enumerable#select|ruby|rails|enumerable#select и reject

Что хотят услышать интервьюеры:

Сравнение: «Enumerable#select и reject» обычно оценивают в паре с if внутри цикла. Выбор зависит от читаемости, Rails conventions, стоимости поддержки, безопасности, нагрузки и тестируемости.

Ответ:

Когда выбирать Enumerable#select и reject: когда его свойства прямо решают задачу, а не просто выглядят привычно.

Плохой ответ: «так принято в Rails» без объяснения последствий.

active = users.select(&:active?)

Источники

Похожие вопросы