Решение на Първа задача от Антон Димов

Обратно към всички решения

Към профила на Антон Димов

Резултати

  • 6 точки от тестове
  • 0 бонус точки
  • 6 точки общо
  • 12 успешни тест(а)
  • 0 неуспешни тест(а)

Код

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

Лог от изпълнението

............

Finished in 0.02507 seconds
12 examples, 0 failures

История (1 версия и 1 коментар)

Антон обнови решението на 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)

  1. индентацията.. 2 шпации
  2. след запетайка пак има шпация, както около +, -, == и прочие виж style-guide-а
  3. Доста сложно става с тези *_call методи, аз бих преместил проверката за това какво е name в series. Най-малкото да е на едно място, не като трябва да търся нещо да гледам на 3 места. (а и да не говорим, че пр. lucas_call не е добро име)