$ LOAD_PATH不包含工作目录?

sli*_*000 0 ruby load-path

为什么当前目录不包含在$ LOAD_PATH中?这看起来很奇怪.我只是继续添加它,但是有一些原因我没有看到它只是没有自动包含?

KL-*_*L-7 5

$LOAD_PATH包括Ruby 1.8.7中的当前目录,但此行为已在1.9.2中更改.你可以找到答案之间的这种决定背后的原因可能解释了这个问题,但我认为基本思想是,.在1.8.7代表目录从你的代码被执行,而不是一个所在.在大多数情况下,你不希望这样,而且.$LOAD_PATH不可靠.

require_relative如果您不想.手动添加到$LOAD_PATH任何地方,在1.9.2中使用可能是一个很好的解决方案.你可以在这里看到它所做的只是显式扩展相对路径.有一点需要注意的是,它在1.9.2之前的版本中不可用,因此它会使您的代码与旧的红宝石不兼容.