我如何在Ruby中的另一个模块中包含一个模块(这个模块里面有一个模块)

时间:2012-09-07 05:28:50

标签: ruby

我有一个模块如下,

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

我收到错误,

  

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

我需要在运行ruby Mam时在main.rb模块下显示放置中的信号,

我对使用ruby的模块很困惑,请任何人帮助我并指导我..

1 个答案:

答案 0 :(得分:1)

在这种情况下,由于您只是编写一个简单的脚本,请使用#require_relative

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

对于实际的应用程序或库,您需要管理加载路径(一个包含数组的全局变量,告诉ruby在哪里查找文件),然后使用普通的require