3

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
.

なぜ2つ目は期待どおりの出力を提供し、最初の1つは期待しない出力を提供するのですか?それらは同じであるべきではありませんか?で試してみたところirb、期待通りの結果が得られました。

違いが生じる場合に備えて、これは私のRubyバージョンです。

$ ruby --version
ruby 1.8.7 (2008-08-11 patchlevel 72) [i486-linux]
4

1 に答える 1

7

ではない。次のコマンドを実行してみてください。

$ ruby -e 'puts $LOAD_PATH'

の代わりに$LOAD_PATHを使用するため、シェルを拡張しません。'"

于 2010-05-27T15:39:23.890 に答える