Ruby需要另一个文件夹上的模块/类

时间:2015-10-26 04:35:27

标签: ruby

我是Ruby的新手,我正在尝试理解require模块或类在其他地方定义的好方法。我有这个设置:

test/
  database/
    base.rb
  scripts/
    run.rb

base.rb

module A
  def hi
    puts "It works"
  end
end

run.rb

# I don't know how to require module A here
hi()

现在我知道我可以做类似的事情:require "#{File.dirname(__FILE__)}/database/base"但看起来很脆弱。我想知道是否有办法将文件夹添加到特定文件夹或整个应用程序的LOAD_PATH

2 个答案:

答案 0 :(得分:6)

我相信以下内容可行:

require_relative '../database/base'

run.rb文件内include A,然后运行文件

答案 1 :(得分:1)

这取决于您需要其他ruby文件的文件。它相对于主机文件。
在你的情况

test/
  database/
    base.rb
  scripts/
    run.rb

我想你要求base.rb run.rb require '../database/base.rb' class SomeClass include A def some_method hi() end end 然后执行此操作

NSGetEnviron()