Tbpgr Blog

Employee Experience Engineer tbpgr(てぃーびー) のブログ

Ruby | Object | freeze

概要

Object#freeze -> self

詳細

オブジェクトを凍結(内容の変更を禁止)する。
凍結したオブジェクトを変更しようとするとRuntimeErrorが発生。

サンプルコード
a = "before_freeze"
p a.frozen?
a = "after_freeze"
a.freeze
p a.frozen?
begin
  a.gsub!('r', 'l')
rescue => e
  p e
end

出力

false
true
#<RuntimeError: can't modify frozen String>