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

【Ruby3.x】Module::const_get()メソッドの使い方

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

作成日: 更新日:

基本的な使い方

const_getメソッドは、モジュールやクラスに定義されている定数を、その名前(文字列またはシンボル)を指定して取得するメソッドです。Rubyにおける定数とは、クラスやモジュール自体、または大文字で始まる変数などを指します。このメソッドは、プログラムの実行中に動的に定数を参照する必要がある場面で特に役立ちます。

例えば、アプリケーションの設定ファイルからクラス名やモジュール名を文字列として読み込み、その名前のクラスやモジュールを実際に使ってオブジェクトを生成したり、メソッドを呼び出したりしたい場合などに利用できます。これは、あらかじめ特定のクラス名をコードに固定するのではなく、実行時に柔軟に処理を切り替えたい状況で非常に有効な手段となります。

第一引数には、取得したい定数の名前を文字列またはシンボルで渡します。例えば、Module.const_get("MyClass")のように使用します。第二引数はオプションで、falseを指定すると、そのモジュールやクラス自身に直接定義された定数のみを検索し、親クラスやインクルードされたモジュールの定数は検索しません。デフォルトでは、親クラスやインクルードされたモジュールも含む継承チェーン全体を検索して定数を見つけ出します。

もし指定された名前の定数が見つからない場合は、NameErrorというエラーが発生します。そのため、このメソッドを使用する際は、エラー処理を適切に行うか、事前に定数の存在を確認することが推奨されます。const_getメソッドは、動的なプログラム構築において、安全かつ確実に目的の定数オブジェクトを取得するための、Rubyの強力な機能の一つです。

構文(syntax)

1Object.const_get(:String)

引数(parameters)

name, inherit = true

  • name: 定数名を表すシンボルまたは文字列
  • inherit = true: 親クラスやモジュールを遡って定数を検索するかどうかを指定する真偽値(デフォルトはtrue)

戻り値(return)

Object

指定されたモジュール内で定義されている定数を、その名前(文字列またはシンボル)をキーとして取得し、その値(オブジェクト)を返します。

関連コンテンツ

関連プログラミング言語