string中級

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

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

解説

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