【Ruby3.x】Module::freeze()メソッドの使い方
freezeメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
freezeメソッドは、このメソッドが呼び出されたモジュールを凍結するメソッドです。モジュールが凍結されると、そのモジュールに対して、以降、新しいメソッドの追加や定数の定義、既存のメソッドの再定義といった変更操作ができなくなります。一度凍結されたモジュールは、再度変更可能な状態に戻すことはできません。この機能は、モジュールの構造を固定し、意図しない変更や誤った操作による不整合を防ぐことで、プログラムの安定性とセキュリティを向上させる目的で利用されます。ただし、この凍結はモジュールそのものに適用されるものであり、このモジュールをインクルード(組み込み)しているクラスや、このモジュールを継承しているクラスには直接影響を与えません。それらのクラスは、別途freezeメソッドを呼び出さない限り、独立して変更可能です。
構文(syntax)
1object_to_freeze = "a mutable string" 2object_to_freeze.freeze
引数(parameters)
引数なし
引数はありません
戻り値(return)
self
freeze メソッドは、レシーバー(メソッドを呼び出したオブジェクト)自身を返します。これにより、オブジェクトの変更を禁止した状態を維持したまま、そのオブジェクトを継続して利用できます。