1

我有以下问题:

我的 ruby​​ 项目结构:Ruby_Source\ file1.rb file2.rb file3.rb

在 file1.rb 中,需要 'file2' 需要 'file3'

现在,如果我从 Ruby_Source 运行 file1.rb,我不会收到任何错误。

但是,当我从不同的系统位置运行相同的程序时,例如(c :)

错误是加载错误。

有人能帮助我吗?

4

2 回答 2

3

您可能想使用require_relative

require_relative 通过允许您加载与包含 require_relative 语句的文件相关的文件来补充内置方法 require。

见进一步讨论:

Ruby 中的 require_relative 和 require 有什么区别?

如果你运行 Ruby 1.8:

Ruby:require vs require_relative - 在 Ruby <1.9.2 和 >=1.9.2 中运行的解决方法的最佳实践

于 2012-09-04T14:44:02.010 回答
0

尝试这个:

require_relative 'file2'

在 Ruby 1.9.x 中。它将file2在目录中搜索file1

在旧版本中,您可能会尝试以下操作:

$: << File.dirname($0) 

这会将当前程序的路径添加到require-search 路径。

于 2012-09-04T14:43:40.297 回答