Виктор обнови решението на 20.12.2011 02:45 (преди около 14 години)
-
requireдирективата няма нужда да е в модула, изведи я в началото на "файла". - Напоследък предлагам името
neighbours_of, вместоget_neighbours, харесва ми повече. - Странно ми е защо ползваш
===вevolves?; още, това бих го кръстилsurvives?.
Благодаря за бързия коментар!
Адресирах забележките. Може би утре ще се опитам да подобря кода още.
Чудесно. Още нещо — какво е това binary & на втория ред от survives?? Може би си имал предвид and?
Използвам & за сечение. and не върши работа, т.к. освен сечението добавя и всички останали елементи на десният операнд.
[0, 1] & [1, 2] == [1]
[0, 1] and [1, 2] == [1, 2]
Това е на първия ред в survives?. Аз питам за втория, където оперираш с два boolean-а:
(neighbours_count == 2) & (@alive_cells.include? cell)
Освен това, скобите са лоша опция тук. Не ги слагай, когато не са нужни. Ако ти трябват, във втория израз, например, ги слагай както си му е редът, около извикването на метода include?: @alive_cells.include?(cell)
Да, разбира се... извинявай. (doh)
А там май имаше причина да сложа някакви скоби по едно време, после съм забравил да ги погледна пак.
Оправих лошо поставените скоби при извикване на още 2 места.
