我有两个文件:
包含类定义和示例脚本的Ruby文件。这简称为' foo ',因为我想在某些情况下将其作为可执行文件运行。
一个名为“ bar.rb ”的Ruby测试脚本,用于测试“ foo ”方法的测试。
尝试在“ bar.rb ”中加入“ foo ”时,我遇到了一个要求错误:
gem_original_require': no such file to load -- foo (LoadError)
但是,如果我将' foo '重命名为' foo.rb ',问题就会消失!根据我的理解,Ruby'require'方法应该能够加载非'* .rb'文件的数据。
有没有办法在不更改文件后缀的情况下导入' foo '的功能?有没有人对所展示的行为有解释?
答案 0 :(得分:1)
require
加载的文件必须具有在require
的参数中明确声明的扩展名,否则为.rb
或.so
。
您的解决方案是改为使用load
。