gpt4 book ai didi

ruby - 未定义的方法 'new'

转载 作者:数据小太阳 更新时间:2023-10-29 08:16:29 24 4
gpt4 key购买 nike

我有一个相当简单的类开始:

class Binding
include Observable
def initialize(variable)
@variable = variable
@state = variable.dup
@log = Log.instance.log
end
# and so on...

Binding 的测试用例设置中,我有 @test_binding = Binding.new(@test_variable) 但我得到了错误

"NoMethodError: undefined method new' for Binding:Class C:/Users/Tim/RubymineProjects/LPA/Tests/binding_test.rb:25:insetup'

我在这里查看了一些标题几乎相同的其他问题,但似乎都不适用。

谁能告诉我我做错了什么?

最佳答案

Can anybody tell me what I'm doing wrong?

实际上,您在该代码中没有做错任何事情。事实上,Bindingalready exists因此,在 Ruby 中,您实际做的是重新打开另一个类,而不是定义一个新类。

特别是 Binding 类没有 new 类方法,这是问题的原因。

你现在有两个合理的选择:

  1. 重命名类(class)
  2. 将类放入模块

第一个暗示你必须想出另一个名字,这几乎不是你想要的。另一个可以被认为是将一个类放入您自己的模块/包/容器中,以便您区分哪些类是您的库的一部分,哪些是内置的。

关于ruby - 未定义的方法 'new',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17333534/

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