ruby 规范没有记录所采取的具体步骤,究竟是什么算法用于在 MRI Ruby 1.9.3 中定位并执行文件?
我本质上是在寻找:http ://docs.python.org/reference/simple_stmts.html#import for Ruby
从技术上讲,您不需要文件,而是需要功能。
如果您将完整路径输入到 require 调用中,(例如require '/home/users/kerrick/my_lib/utils'
),它将加载/home/users/kerrick/my_lib/utils.rb
(或.so
,或.dll
,或.bundle
)文件。
如果您没有指定完整路径,Ruby 会按照您ruby -e 'puts $:'
在 UNIX 提示符下运行时显示的顺序查找加载路径。
另外,请记住,如果您多次需要某个东西,它只会加载一次。
这可能会有所帮助,不确定它是否是您要找的。
https://github.com/rubinius/rubinius/blob/master/kernel/common/codeloader.rb#L198