在Ruby中需要加载路径之外的文件

时间:2013-04-10 23:42:15

标签: ruby require load-path

我有一个我写的gem,它有许多处理程序,每个处理程序在gem中都有自己的ruby文件。我需要添加在命令行上指定文件的功能,该文件将以与这些其他处理程序相同的方式加载。该文件通常不在gem的默认加载路径中。

我不确定这样做的最好方法。我可以获取文件名,然后将包含目录添加到加载路径,然后加载文件。我可以让用户指定一个包含要读取的处理程序的目录,而不是指定文件,或者我确定有一种更好的方法可以做到这一点,我还没有想到。

1 个答案:

答案 0 :(得分:0)

这是使用require_relative修复的,并使用Dir.pwd扩展文件路径:

req_path = File.expand_path(arg, Dir.pwd)
require_relative req_path