ファイルが呼び出されるたびにロードされるrequire
のに対し、ファイルは一度だけロードされることを理解しています。load
ほとんどの場合、使用require
が望ましいようです。
私の質問は、いつ使用するload
のではなくrequire
?
ファイルが呼び出されるたびにロードされるrequire
のに対し、ファイルは一度だけロードされることを理解しています。load
ほとんどの場合、使用require
が望ましいようです。
私の質問は、いつ使用するload
のではなくrequire
?
Load は、次のようなファイルのフルネーム パスを受け取ります。
load "/path/to/file.rb"
一方、require はファイルを 1 回だけロードし、拡張子 .rb を指定する必要はありません。
require "/path/to/file"
require "/path/to/file.rb"
パフォーマンスを向上させるために実際には require を使用することをお勧めしますが、Rails は開発モード中に負荷を使用するため、変更のたびにサーバーを再起動する必要がないことを読みました。
答えはあなたの質問にあると思います。あなたが書いた:
「ファイルを一度だけロードする必要がある」
では、ファイルを変更したり、外部の何かによってファイルが変更されたりするとどうなるでしょうか? load
ロード中に保持される「状態」を取得します。でrequire
はありません。
何かを強制的にリロードする必要がある場合 (一般的な例は、Web サーバーまたはテスト サーバーです)。コードの一部がヒットしない可能性が十分にある場合、またはアプリの読み込み時間の問題に対処したい場合は、autoload を使用する必要があります。それ以外の場合は常に require を使用する必要があります。