Решение на Първа задача от Людмила Савова
Резултати
- 6 точки от тестове
- 0 бонус точки
- 6 точки общо
- 12 успешни тест(а)
- 0 неуспешни тест(а)
Код
Лог от изпълнението
............ Finished in 0.01223 seconds 12 examples, 0 failures
История (7 версии и 4 коментара)
Людмила обнови решението на 11.10.2014 18:54 (преди около 11 години)
Пуснах си тестовете, но не минават, и не мога да разбера защо, малко помощ?
Здравей :)
Примерните тестове минават за решението ти. Да не би да гледаш Deprecation Warning-а за :should? Това не е от твоето решение, а от нашите тестове. Интересува те последният ред - 3 examples, 0 failures.
Иначе имам малко съвети за самия код:
- Може да махнеш
result =. За да върнеш резултат от метод е достатъчно просто да оставишcase-a и резултатът от метода ще е резултатът от съответната функция, която ще се извика в някой отwhen-овете. - Трябват ли ти функциите
fibonacci,lucasиsummed? Тъй като са едноредови и се използват само на едно място, можеш да сложиш кода им вseries. - Не харесваме
for, но понеже не остана време от предната лекция, не сме го казвали. Разгледай метода each. С негоfor index in (3..index)ще стане(3..index).each do |index|, или още по-добре3.upto(index) do |index| - Припокриват се променливите
indexв методаsequence, което леко усложнява нещата, защото този, който чете кода, трябва да следи коя от двете променливи се използва в даден момент. Ще е по-добре ако измислиш друго (по-описателно) име за параметъра наsequence, така че да няма повторения в имената. - Вместо
numbers.push(нещо)може да използвашnumbers << нещо. Правят едно и също, но по-често се използва второто. - Според Style Guide-a трябва да има празни места около минуса
Решението ти е доста добро, а ако промениш тези неща направо ще стане супер :)
Людмила обнови решението на 11.10.2014 23:08 (преди около 11 години)
Людмила обнови решението на 11.10.2014 23:47 (преди около 11 години)
Людмила обнови решението на 13.10.2014 22:54 (преди около 11 години)
Людмила обнови решението на 13.10.2014 23:00 (преди около 11 години)
Георги, благодаря ти за feedback-a. Наистина пасват, объркала съм се, колкото до кода - мисля, че направих каквото можеше да го опростя и разкрася :)
Изглежда супер :)
Само още нещо дребно - когато не ти трябва параметъра в блок (на each например), можеш просто да не го пишеш. Все едно, че няма параметри. Може да разгледаш и times като алтернатива на each (щом не ти трябва параметъра).
