Ruby未定义方法`+'为零:NilClass(NoMethodError)
问题描述:
Ruby的新功能。接收错误:未定义的方法`+'为零:NilClass(NoMethodError)Ruby未定义方法`+'为零: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
我想提的是,其中* @尺寸*和* @ *头被放置在原代码,他们不是在对象的范围,但在该范围内。 – Digikata 2013-03-03 06:04:37