Ростислав обнови решението на 13.10.2012 00:53 (преди над 12 години)
▸ Покажи разликитеПолзвал си ;
, което е официално анатемосано в указания, ако държиш да напишеш
(2..self/2).inject(0) { |count, n| count+=1 if self%n == 0; count } == 0
Може би ще изглежда по-добре като
(2..self/2).count { |number| sefl % number == 0 } == 0
Ако разгледаш enumerable ще видиш методи и като all?
, които са по-близо до това, което си имал предвид
- Във
fizzbuzz
също си имал предвидmap
вместо each - Погледни
Hash.new
- мисля, чеgroup_values
ще изглежда по-добре без първата част наinject
блока
-
self.
е излишен на повечето места - Не поставяш интервали около операторите.
array<<:fizz
иn%3
изглежда ужасно. Пиши гиarray << :fizz
иn % 3
. -
inject
-а вgroup_values
е неприятен. Май не ни остана време да го кажем на лекция, но не се прави така. Ако искаш да направиш хеш от масив, по-добре ползвайeach_with_object
- Използваш
inject
там, къдетоcount
ти върши работа - Иван е прав, ако имаш
;
, вероятно правиш нещо грешно