Ruby'require'和File Suffixes

时间:2014-06-30 20:15:36

标签: ruby include

我有两个文件:

  1. 包含类定义和示例脚本的Ruby文件。这简称为' foo ',因为我想在某些情况下将其作为可执行文件运行。

  2. 一个名为“ bar.rb ”的Ruby测试脚本,用于测试“ foo ”方法的测试。

  3. 尝试在“ bar.rb ”中加入“ foo ”时,我遇到了一个要求错误:

    gem_original_require': no such file to load -- foo (LoadError)
    

    但是,如果我将' foo '重命名为' foo.rb ',问题就会消失!根据我的理解,Ruby'require'方法应该能够加载非'* .rb'文件的数据。

    有没有办法在不更改文件后缀的情况下导入' foo '的功能?有没有人对所展示的行为有解释?

1 个答案:

答案 0 :(得分:1)

require加载的文件必须具有在require的参数中明确声明的扩展名,否则为.rb.so

您的解决方案是改为使用load