others - 在 ruby 中,如何在另一个模块中包含模块( 这个模块里面有一个模块)

  显示原文与译文双语对照的内容
96 5

我有一个如下的模块

main.rb:

module Main
 include Dad::Mam
end

在 dad.rb 中:

module Dad
 module Mam
 puts"Mam is saying you are very lazy..."
 end
end

如何命名这里文件?dad.rb 是正确的?

但当跑步时

$ ruby main.rb

我得到了一个错误

:2:<module:Main>': uninitialized constant Main::Dad (NameError) from main.rb:1:in'

我需要在运行 ruby main.rb 时,在 Mam 模块下显示 sentance,

关于使用 ruby 模块的困惑,请大家帮助我并指导我。

时间:原作者:1个回答

117 1

既然你只是编写一个简单的脚本,那么使用 #require_relative

require_relative 'dad'
module Main
 include Dad::Mam
end

对于实际的应用程序或者库,你需要管理加载路径( 保存 array的全局变量,它告诉 ruby 在哪里查找文件),然后使用普通 require

原作者:
...