4

ruby 规范没有记录所采取的具体步骤,究竟是什么算法用于在 MRI Ruby 1.9.3 中定位并执行文件?

我本质上是在寻找:http ://docs.python.org/reference/simple_stmts.html#import for Ruby

4

2 回答 2

3

从技术上讲,您不需要文件,而是需要功能

如果您将完整路径输入到 require 调用中,(例如require '/home/users/kerrick/my_lib/utils'),它将加载/home/users/kerrick/my_lib/utils.rb(或.so,或.dll,或.bundle)文件。

如果您没有指定完整路径,Ruby 会按照您ruby -e 'puts $:'在 UNIX 提示符下运行时显示的顺序查找加载路径。

另外,请记住,如果您多次需要某个东西,它只会加载一次。

于 2012-05-25T18:59:10.283 回答
0

这可能会有所帮助,不确定它是否是您要找的。

https://github.com/rubinius/rubinius/blob/master/kernel/common/codeloader.rb#L198

于 2012-05-25T18:40:51.227 回答