0

現在のディレクトリが $LOAD_PATH に含まれていないのはなぜですか? これは奇妙に思えます。私はそれを追加し続けていますが、自動的に含まれていないだけではない理由はありますか?

4

1 に答える 1

5

$LOAD_PATHRuby 1.8.7 では現在のディレクトリが含まれていましたが、この動作は 1.9.2 で変更されました。この質問への回答の中で、この決定の背後にある理由について考えられる説明を見つけることができますが、基本的な考え方は.、1.8.7 ではコードが実行されるディレクトリを表し、コードが配置されているディレクトリではないと思います。そしてほとんどの場合.、あなたはそれを望んで$LOAD_PATHおらず、信頼できません。

どこにでも手動でrequire_relative追加したくない場合は、1.9.2 で使用するのが良い解決策かもしれません。ここでは、相対パスを明示的に展開しているだけであることがわかります。注意すべきことの 1 つは、1.9.2 より前のバージョンでは使用できないため、コードが古い ruby​​ と互換性がなくなることです。.$LOAD_PATH

于 2011-12-09T17:16:41.193 に答える