Георги обнови решението на 12.10.2014 17:34 (преди около 10 години)
+def fibonacci(number)
+ number <= 2 ? 1 : fibonacci(number - 1) + fibonacci(number - 2)
+end
+
+def lucas(number)
+ if number <= 2
+ number == 1 ? 2 : 1
+ else
+ lucas(number - 1) + lucas(number - 2)
+ end
+end
+
+def series(string, number)
+ case string
+ when 'fibonacci' then fibonacci(number)
+ when 'lucas' then lucas(number)
+ when 'summed' then fibonacci(number) + lucas(number)
+ end
+end
- Никой не харесва дълбоко вложени
if
-ове. Просто са много трудни за разбиране. Опитай се да 'изгладиш' тозиif
вlucas
използвайкиcase
. И така е ок, но мисля че сcase
ще бъде по-четимо. -
string
не е добро име. Какво съхранява този string? -
Индентирай
when
вcase
един спейс по-навътре. Също е приятно, когатоthen
клаузите са подравнени една под друга. Така :when 'morning' then .. when 'noon' then .. when 'afternoon' then ..