gpt4 book ai didi

Ruby 未定义方法 `+' 为 nil :NilClass (NoMethodError)

转载 作者:数据小太阳 更新时间:2023-10-29 07:46:40 25 4
gpt4 key购买 nike

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)

最佳答案

将@size 的声明移到初始化方法中:

def initialize(data = nil, nextNode = nil)
@data = data
@nextNode = nextNode
@size = 0
end

关于Ruby 未定义方法 `+' 为 nil :NilClass (NoMethodError),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15182935/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com