模块的Ruby继承

时间:2013-02-10 12:26:32

标签: ruby class inheritance

所以我有三个班级:

MyModule::Base
MyModule::Artist
MyModule::Song

MyModule::Artist继承自MyModule::Base,因此可以访问其所有实例方法,并声明为:

module MyModule
  class Artist < MyModule::Base

这一切都按预期工作。 但是,当我尝试添加第三个类(MyModule::Song)以继承MyModule::Base时,如下所示:

module MyModule
  class Song < MyModule::Base

我得到NameError。 '未初始化的常数'。像MyModule::Base甚至不存在!我是否遗漏了Ruby中类继承的基本信息,还是其他的东西?

感谢。

1 个答案:

答案 0 :(得分:2)

我看了一下您的回购邮件,发现虽然您在Base中通过require_relative正确要求Artist模块,但您使用大锤require来破解Song中的坚果。

由于系统范围内有base,因此正在加载而不是预期的本地Echonest::Base。只需与require_relative一起享受吧。

希望有所帮助。