【问题标题】:$LOAD_PATH does not include working directory?$LOAD_PATH 不包括工作目录?
【发布时间】:2011-12-09 17:04:40
【问题描述】:

为什么当前目录不包含在 $LOAD_PATH 中?这似乎很奇怪。我只是继续添加它,但是否有某些原因我没有看到它没有自动包含在内?

【问题讨论】:

    标签: ruby load-path


    【解决方案1】:

    $LOAD_PATH 包含 Ruby 1.8.7 中的当前目录,但此行为在 1.9.2 中已更改。您可以在this question 的答案中找到该决定背后的原因的可能解释,但我认为基本思想是 1.8.7 中的. 代表执行代码的目录,而不是它所在的目录。在大多数情况下,您不希望这样,并且您的 $LOAD_PATH 中的 . 不可靠。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-10-22
      • 2014-07-20
      • 2013-03-22
      • 1970-01-01
      • 2017-06-01
      • 2011-08-11
      • 1970-01-01
      相关资源
      最近更新 更多