0
我想递归增加CounterClass的@counter实例变量,但是每次调用#incrementer方法@counter再次设置为0,导致无限递归。尝试做递归计数器时的无限递归
我在做什么错? (我想这@counter变量从未更新)
class CounterClass
attr_accessor :counter
def initialize
@counter = 0
end
end
def incrementer(arg)
cc ||= CounterClass.new
cc.counter += 1
p cc.counter
incrementer(cc) unless cc.counter == 10
end
incrementer(CounterClass.new)
为什么你创建的'CounterClass'每当一个新的实例?这就是你做错了。 –
此外,你没有使用'arg' –
如果你这样做学习递归,你选择了一个可怕的可怕的练习。试着用列表来代替。就像找到一个单链表的长度一样。 –