【问题标题】:Can't inherit a class defined in separate file - Ruby无法继承在单独文件中定义的类 - Ruby
【发布时间】:2015-04-06 10:15:20
【问题描述】:

我有一个文件 'page.rb' 包含:

require_relative "template.rb"

class MM8 < Template

end

然后我有一个文件“template.rb”,其中包含:

class Template

end

为什么我不能用 Template 类扩展 MM8 类?当我尝试运行程序时,我得到“未初始化的常量模板(NameError)”。

【问题讨论】:

  • require_relative 到底在做什么?是相当于在一个页面上写了更多的代码,还是启动了一个新的 ruby​​ 进程等等。

标签: ruby class


【解决方案1】:

尝试在没有文件扩展名的情况下调用require_relative

require_relative 'template'

您可以阅读更多关于requirerequire_relative here 之间的区别。

【讨论】:

  • @ZachSmith 你确定template.rbpage.rb 在同一个文件夹中吗?因为我刚刚测试了你的代码,它工作正常。
  • 原来是这样,但现在可以了。我没有保存 template.rb 并定义了实际的类:p。抱歉,感谢您的帮助
猜你喜欢
  • 1970-01-01
  • 2011-03-30
  • 1970-01-01
  • 2010-11-08
  • 1970-01-01
  • 1970-01-01
  • 2018-07-23
  • 2022-11-30
  • 2012-11-14
相关资源
最近更新 更多