鲁比新来的。接收错误:nil:nilclass的未定义方法“+”(nomethoderror)
我不明白为什么我会因为这样一个简单的递增值的任务而收到错误。然而,也许错误是由其他原因引起的。
原因是什么?
class LinkedList
class Node
attr_accessor :data, :nextNode
def initialize(data = nil, nextNode = nil)
@data = data
@nextNode = nextNode
end
end
#member variables
@head = nil
@size = 0
def initialize
@head = Node.new()
end
def add(val)
curr = @head
while curr.nextNode != nil
curr = curr.nextNode
end
curr.nextNode = Node.new(val)
@size += 1 #<<<-------------------------------------ERROR LINE----------
end
end
list = LinkedList.new()
list.add(0)
最佳答案
将@size的声明移到initialize方法中:
def initialize(data = nil, nextNode = nil)
@data = data
@nextNode = nextNode
@size = 0
end