未初始化的常量(名称错误)创建对象

时间:2017-04-06 10:05:04

标签: ruby

我试图通过调用另一个类来实例化一个新对象,但我一直收到这个错误而且我不知道为什么。我还是Ruby的新手,所以我可能会遗漏一些东西。我收到了这个错误:

TestA.rb:3 in `initialize': uninitialized constant TestA::TestB (NameError)
    from TestA.rb:7:in `new'
    from TestA.rb:7:in `<main>'

这是我的代码:**这两个类在单独的文件中**

class TestA
    def initialize
        @test = TestB.new
    end
end

test = TestA.new

class TestB
    def test_method
        print "Hello"
    end
end

1 个答案:

答案 0 :(得分:2)

您必须要求具有test_b类定义的文件。如果它的名称是test_b.rb,它将如下所示:

require_relative "test_b"

class TestA
    def initialize
        @test = TestB.new
    end
end

test = TestA.new