Антон обнови решението на 14.10.2014 21:19 (преди около 10 години)
+def series(name,index)
+ lucas_call(name,index) || fibonacci_call(name,index) || summed_call(name,index)
+end
+
+def fibonacci(index)
+ if index<=1
+ index
+ else
+ fibonacci(index-1) + fibonacci(index-2)
+ end
+end
+
+def lucas(index)
+ if index<=2
+ index==1 ? 2 : 1
+ else
+ lucas(index-1) + lucas(index-2)
+ end
+end
+
+def fibonacci_call(name,index)
+ if(name == "fibonacci")
+ fibonacci(index)
+ end
+end
+
+def lucas_call(name,index)
+ if(name == "lucas")
+ lucas(index)
+ end
+end
+
+def summed_call(name,index)
+ if(name == "summed")
+ lucas(index)+fibonacci(index)
+ end
+end
Привет (виж https://github.com/fmi/ruby-style-guide)
- индентацията.. 2 шпации
- след запетайка пак има шпация, както около +, -, == и прочие виж style-guide-а
- Доста сложно става с тези *_call методи, аз бих преместил проверката за това какво е name в series. Най-малкото да е на едно място, не като трябва да търся нещо да гледам на 3 места. (а и да не говорим, че пр. lucas_call не е добро име)