最佳答案
我见过两种常用的技术,用于将当前正在执行的文件的目录添加到 $LOAD _ PATH (或 $:)。我知道这么做的好处了万一你不是在和宝石合作呢。显然,一个看起来比另一个更冗长,但是有没有理由选择一个而不是另一个呢?
第一个,详细的方法(可能有点过分) :
$LOAD_PATH.unshift(File.expand_path(File.dirname(__FILE__))) unless $LOAD_PATH.include?(File.expand_path(File.dirname(__FILE__)))
以及更直接、快捷和肮脏的方式:
$:.unshift File.dirname(__FILE__)
有什么理由选择其中一个吗?