【Ruby3.x】Module::public_constant()メソッドの使い方
public_constantメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
public_constantメソッドは、モジュールやクラス内で定義された定数を公開状態にするメソッドです。
Rubyにおいて、定数は通常、定義された時点で自動的に公開されますが、private_constantメソッドを使用することで、特定の定数をモジュールやクラスの外部からアクセスできないように非公開に設定することが可能です。
public_constantメソッドは、一度private_constantメソッドで非公開にされた定数を、再び外部からアクセスできるように公開状態に戻す目的で使用されます。
このメソッドは、引数として公開したい定数の名前をシンボルまたは文字列で受け取ります。複数の定数をカンマ区切りで同時に指定することもできます。
例えば、システムの内部処理でのみ利用する定数を非公開にしつつ、特定の条件下でのみ外部に提供する必要がある定数を、このメソッドを使って公開するといった柔軟なアクセス制御を実現できます。
これにより、モジュールやクラスの設計者は、どの情報を外部に公開し、どれを内部に留めるかという設計意図を明確に表現し、プログラムの堅牢性と保守性を向上させることができます。存在しない定数を指定した場合は、NameErrorが発生します。
構文(syntax)
1module ExampleModule 2 MY_CONSTANT = 100 3 ANOTHER_CONSTANT = "Hello" 4 public_constant :MY_CONSTANT, :ANOTHER_CONSTANT 5end
引数(parameters)
*rest
- name: 公開する定数名(シンボルまたは文字列)
戻り値(return)
self
Module#public_constant は、レシーバであるモジュール自身を返します。