Ruby的新手.接收错误:未定义的方法`+'表示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)
Run Code Online (Sandbox Code Playgroud)
将@size的声明移动到initialize方法中:
def initialize(data = nil, nextNode = nil)
@data = data
@nextNode = nextNode
@size = 0
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7825 次 |
| 最近记录: |