Кто-нибудь знает, почему этот код:рубин ошибка рекурсии
sum=0
def get_sum n
return sum if n<1
sum=sum+n
get_sum(n-1)
end
get_sum 10
дает мне это?
rb:3:in `get_sum': undefined local variable or method `sum' for main:Object (NameError)
from 1.rb:8:in `<main>'
Код имеет смысл, и вы можете понять, что он делает.
спасибо! Я просто играл с функциональным рубином –
Если вы играете с функциональным Ruby, вы должны использовать функции, а не методы. Или точнее: блоки. –
Кроме того, изменяемые переменные и функциональное программирование являются взаимоисключающими. –