2012-09-07 162 views
0

我有一个模块如下,怎样包括一个模块(该模块内部有一个模块)的另一模块内用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

我需要显示森泰斯内置Mam模块,同时运行ruby main.rb

我感到困惑使用Ruby的模块,请任何人能帮助我,引导我。

回答

1

在这种情况下,因为你只是写一个简单的脚本,使用#require_relative

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

对于实际的应用程序或库,你会想要管理加载路径(一个全局变量持有一个数组,告诉红宝石在哪里寻找文件),然后使用正常require

+0

非常感谢谢谢.... – abhilash