Атанас обнови решението на 25.10.2014 13:05 (преди около 10 години)
Здрасти,
Ето няколко неща от мен:
- Празен ред след
include Enumerable
. - Има по-елегантен начин да напишеш
NumberSet#<<
. Проверката, която правиш вече е реализирана, преизползвай я. - До колкото разбирам
Filter#sieve
връща булева стойност. Имаме конвенция за иментата на такива методи. Помисли за по-добро такова. :) - Предлагам ти да кръщаваш блок параметрите си
&block
освен, ако няма наистина смислена причина да е друго.condition
не е много коректно име. - В
TypeFilter
(иSignFilter
) можеш да замениш присвояването на стойност на@condition
с подаване на блок на конструктора наFilter
.super() { |number| ... }
. - Предпочитай number пред element, numbers пред container. В контекста на числа това са много по-ясни имена. Абстрактните имена не са много полезни. :)
Това е. Браво иначе, добро решение! :)
Благодаря за съветите и за бързия отговор.