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

【Ruby3.x】Hash::default_proc=()メソッドの使い方

default_proc=メソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

default_proc=メソッドは、ハッシュに存在しないキーが参照された場合に実行される処理を設定するメソッドです。

このメソッドを使用すると、あらかじめハッシュに登録されていないキーを呼び出した際に、どのような値を返すか、あるいはどのような処理を行うかを柔軟に制御できます。引数には、Procオブジェクト、またはブロックを渡します。設定されたProcオブジェクトやブロックは、ハッシュが存在しないキーで参照されたときに自動的に呼び出されます。その際、呼び出されたハッシュ自身と、存在しないキーの二つが引数として渡されます。

そして、このProcオブジェクトやブロックが返した値が、その参照されたキーに対する値として扱われます。例えば、キーが存在しない場合に、そのキーに応じた新しいデータを動的に生成して返す、といった使い方が可能です。これは、単一の固定値を返すdefault=メソッドとは異なり、キーごとに異なる動的な初期値を設定したり、複雑な初期化処理を実行したりする場合に非常に役立ちます。これにより、必要な時にだけ値を生成する遅延初期化などのパターンも実現できるようになります。

構文(syntax)

1my_hash = {}
2my_hash.default_proc = proc do |hash_obj, key_accessed|
3  "Default value for #{key_accessed}"
4end

引数(parameters)

proc

  • proc: デフォルト値として使用されるProcオブジェクト

戻り値(return)

Proc または nil

Hashオブジェクトのデフォルト値を生成するためのProcオブジェクト、またはnilを設定します。指定されたProcオブジェクト、またはnilが返されます。

関連コンテンツ

関連プログラミング言語