【问题标题】:How are $LOAD_PATH and $: different?$LOAD_PATH 和 $: 有何不同?
【发布时间】:2010-05-27 15:35:54
【问题描述】:

我需要知道我的 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]

【问题讨论】:

    标签: ruby load-path


    【解决方案1】:

    他们不是。尝试运行以下命令:

    $ ruby -e 'puts $LOAD_PATH'
    

    由于使用' 而不是",因此不会使shell 扩展$LOAD_PATH

    【讨论】:

    • 啊!这很有意义。我想这是我第一次在做ruby -e 时使用全局变量。 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-14
    • 1970-01-01
    • 1970-01-01
    • 2015-11-22
    • 1970-01-01
    相关资源
    最近更新 更多