文字列応用レベル

Ruby の freeze メソッドの役割はどれですか?

  • 1オブジェクトをコピーして変更不可にする
  • 2オブジェクト自体を変更不可(イミュータブル)にする
  • 3オブジェクトを nil にする
  • 4クラスの継承を禁止する

解説

freeze を呼ぶとオブジェクト自体が凍結され、以降の変更操作で FrozenError が発生します。Ruby 3.0 以降では文字列リテラルはデフォルトでフリーズされていません(frozen_string_literal: true マジックコメントで有効化可能)。

問題一覧へ戻る