【Ruby3.x】Module::name()メソッドの使い方
nameメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
nameメソッドは、モジュールやクラスの名前を取得するメソッドです。
Rubyにおいて、モジュールやクラスは通常、定数として定義されます。このnameメソッドは、レシーバであるモジュールまたはクラスが、そのように定数として定義されたときに割り当てられた名前を文字列として返します。
例えば、class MyClass; end と定義されたクラスで MyClass.name を呼び出すと、"MyClass"という文字列が返されます。また、module MyModule; class NestedClass; end; end のようにネストされたクラスやモジュールの場合、MyModule::NestedClass.name は "MyModule::NestedClass" と、名前空間を含んだ完全な名前を返します。
もし、モジュールやクラスが定数として割り当てられていない場合(例えば、Class.new や Module.new で作成され、変数に代入されただけで定数として定義されていないケースや、特異クラスなど)は、名前がないと判断され、nil が返されます。
このメソッドは、プログラムの実行中にクラスやモジュールの識別子を確認したり、デバッグ時にオブジェクトの種類を識別したり、動的な処理でクラスやモジュールの名前を使って条件分岐を行ったりする際に非常に役立ちます。クラスやモジュールの属性情報として、プログラミングにおいて重要な役割を果たします。
構文(syntax)
1class MyClass 2end 3 4MyClass.name
引数(parameters)
引数なし
引数はありません
戻り値(return)
String
Module クラスの name メソッドは、そのモジュールの名前を表す文字列を返します。例えば、Enumerable モジュールの name メソッドは "Enumerable" という文字列を返します。