0

require 'some_path'使いたいファイルやライブラリを取得するために使用すべきだという印象を受けましたが、動作させることができず、動作しload 'some_path'ました。

これらを使用する必要があるのはいつですか?

loadまた、またはコマンドを使用してディレクトリをインポートすることはできrequireますか?ディレクトリ全体を使用しようとしていますが、これまでのところ、で一度に取得できるファイルは1つだけですload

4

2 に答える 2

1

ファイルのrequireを呼び出すと、requireをさらに呼び出すと、それが再び必要になることはなくなります(つまり、効果がなくなります)。一方、loadは、ファイルを呼び出すたびにファイルをリロードします。私の知る限り、ディレクトリ全体をロードする方法はありません。

于 2012-05-14T14:20:04.550 に答える
1

Dirを使用して、.rbで終わるすべてのファイルを一覧表示し、それらを要求/ロードできます。

 Dir["/path/to/dir/*.rb"].each { |file| load_your_file_here(file) }

ファイルを要求してから、ファイルがロードするモジュールを含めることをお勧めします...ファイル内でモジュールまたはクラスを使用していない場合は、構造を再検討する必要があります。

負荷は意図しない結果をもたらす可能性があり、パフォーマンスが低下します。

于 2012-05-14T14:37:41.827 に答える