Людмил обнови решението на 11.10.2014 01:43 (преди около 10 години)
+
+ def fibonacci (number_index)
+ if number_index == 1
+ return 1
+ end
+ if number_index == 2
+ return 1
+ end
+ fibonacci(number_index-1) + fibonacci(number_index-2)
+end
+
+def lucas (number_index)
+ if number_index == 1
+ return 2
+ end
+ if number_index == 2
+ return 1
+ end
+ lucas(number_index-1) + lucas(number_index-2)
+end
+
+def series (name,number_index)
+ if name=='fibonacci' then fibonacci(number_index)
+ elsif name=='lucas' then lucas(number_index)
+ else fibonacci(number_index) + lucas(number_index)
+ end
+end
- Имаш малки whitespace проблеми. Единия предполагам виждаш. За другите погледни style guide-a.
- Ако ти се наложи да слагаш
if
-then
така на един ред е добре да погледнешcase
(switch
-ът в Ruby). - Можеше да ползваш
if
-elsif
-else
(или отново -case
) вместо 2 нормалниif
-а сreturn
-и. Ако настояваш да остане с тази идея обърнатия синтаксис ще ти хареса (x if y
). - Не слагай празен ред на края на файла.
Като цяло е добре.