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

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

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

作成日: 更新日:

基本的な使い方

freezeメソッドは、レシーバである文字列オブジェクトを凍結状態にするメソッドです。オブジェクトが凍結されるとは、そのオブジェクトの内部状態が変更できなくなることを意味します。具体的には、凍結された文字列オブジェクトに対して、文字列の内容を書き換えるような破壊的なメソッド(例: <<gsub!concatなど)を実行しようとすると、FrozenErrorという例外が発生し、変更が拒否されます。このメソッドは、凍結されたレシーバである文字列オブジェクト自身を返します。

この機能は、オブジェクトの不変性を保証したい場合に非常に有用です。例えば、一度初期化した文字列をアプリケーションの実行中に絶対に書き換えられたくない定数として扱いたい場合や、複数のスレッドから同時にアクセスされるデータが意図せず変更されるのを防ぎたい場合に利用できます。凍結されたオブジェクトは安全に共有でき、プログラムの安定性向上に寄与します。また、すでに凍結されている文字列に対してfreezeメソッドを呼び出しても、何も変更は行われず、単にレシーバ自身が返されます。一度凍結されたオブジェクトは、プログラム実行中に凍結状態を解除することはできません。これにより、データの整合性を厳密に保つことが可能になります。

構文(syntax)

1"target_string".freeze

引数(parameters)

引数なし

引数はありません

戻り値(return)

String

このメソッドは、レシーバーである文字列オブジェクト自身を返します。freezeメソッドは、文字列オブジェクトをイミュータブル(変更不可能)な状態にします。

関連コンテンツ

関連プログラミング言語