Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【Ruby3.x】load()関数の使い方

load関数の使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

load関数は、引数で指定されたRubyのソースファイルを読み込み、その内容を実行する関数です。この関数は、プログラムの実行中に外部のRubyファイルを動的に読み込みたい場合や、既に読み込んだファイルを最新の状態に更新して再度実行したい場合に利用されます。

Rubyにはソースファイルを読み込むための関数としてrequire関数もありますが、load関数とは異なる振る舞いをします。load関数は、対象のファイルが既に読み込まれているかどうかにかかわらず、呼び出されるたびに常にファイルを再読み込みし、その内容を実行します。この特性により、開発中にコードを修正した後、アプリケーションを再起動することなく、特定のモジュールやスクリプトを更新して動作を確認するといった用途に役立ちます。一方、require関数は、一度読み込んだファイルはそれ以降再読み込みしないため、ライブラリの重複読み込みを防ぐ目的で使われます。また、load関数で読み込まれたファイルは、Rubyが読み込み済みファイルを管理する特殊な変数$LOADED_FEATURES(別名$")には追加されません。

load関数は、オプションの第2引数wrapを受け取ります。この引数にtrueを指定すると、読み込むファイルの内容が匿名モジュールの中で実行されます。これにより、ファイル内で定義された定数や変数が、呼び出し元のスコープに直接影響を与えることなく、独立した環境で実行されるため、名前の衝突を避けて安全にコードを読み込むことができます。wrapfalseの場合(デフォルト)、ファイルはトップレベルで実行されます。

構文(syntax)

1load("path/to/script_file.rb")

引数(parameters)

filename, wrap = false

  • filename: 読み込むファイル名を指定する文字列
  • wrap = false: true を指定すると、読み込んだコードをクラス内にラップして実行します。デフォルトは false です。

戻り値(return)

Object

load 関数は、指定された Ruby ファイルを読み込み、そのファイル内で定義されたオブジェクトやメソッドを現在のプログラムから利用できるようにします。読み込んだファイルが true または false を返した場合、その真偽値が load 関数の戻り値となります。それ以外の場合は、最後に評価された式の値が返されます。

関連コンテンツ

関連プログラミング言語