Светослав обнови решението на 12.10.2014 23:54 (преди около 10 години)
+def fibonacci(n)
+ return n if n <= 1
+ fibonacci(n - 1) + fibonacci(n - 2)
+end
+
+def lucas(n)
+ return 2 if n == 1
+ return 1 if n == 2
+ lucas(n - 1) + lucas(n - 2)
+end
+
+def series(name, n)
+ return fibonacci(n) if name == 'fibonacci'
+ return lucas(n) if name == 'lucas'
+ return lucas(n) + fibonacci(n) if name == 'summed'
+end
Здравей :)
- В
series
според мен много по-четимо би било да се ползваcase
вместо 3if
-a. Това еswitch
-a в Руби. - В
fibonacci
иlucas
следreturn
и предиif
имаш по 2 интервала, а трябва да имаш по 1 :) - Съща така за именуването - тук е добре да даваш хубави, описателни имена на променливи и аргументи, и не 'n' не е такова. Няколко символа повече няма да навредят и ще е по-четимо и разбираемо. (Прочети style guide-a)
Като махнем горните - добре решение :)