代码之家  ›  专栏  ›  技术社区  ›  Benjamin Oakes

$load_path和$:有什么不同?

  •  3
  • Benjamin Oakes  · 技术社区  · 16 年前

    我需要知道我的Ruby加载路径中有什么,所以我这样做了:

    $ ruby -e "puts $LOAD_PATH"
    

    它没有打印出任何东西,我 没有 期待。所以我试了一下:

    $ ruby -e "puts $:"
    /usr/local/lib/site_ruby/1.8
    /usr/local/lib/site_ruby/1.8/i486-linux
    /usr/local/lib/site_ruby/1.8/i386-linux
    /usr/local/lib/site_ruby
    /usr/lib/ruby/vendor_ruby/1.8
    /usr/lib/ruby/vendor_ruby/1.8/i486-linux
    /usr/lib/ruby/vendor_ruby
    /usr/lib/ruby/1.8
    /usr/lib/ruby/1.8/i486-linux
    /usr/lib/ruby/1.8/i386-linux
    .
    

    为什么第二个给出了预期的输出,而第一个却没有?它们不应该是一样的吗?我刚试过 irb 我得到了预期的结果。

    这是我的Ruby版本,以防有什么不同:

    $ ruby --version
    ruby 1.8.7 (2008-08-11 patchlevel 72) [i486-linux]
    
    1 回复  |  直到 16 年前
        1
  •  6
  •   P Shved    16 年前

    它们不是。尝试运行此命令:

    $ ruby -e 'puts $LOAD_PATH'
    

    这不会使外壳膨胀 $LOAD_PATH 由于使用 ' 而不是 " .

    推荐文章