コード日進月歩

しんくうの技術的な小話、メモ、つれづれ、など

RubyのStringリテラルのfrozenはプラス演算子で解除できる

あ、こんな書き方あるんだっていうメモ

出典

実例

freze_text = "hubuki"
#=> "hubuki"

# freezeで凍結
freze_text.freeze
#=> "hubuki"

# 代入しようとするとエラー
freze_text << "a"
RuntimeError: can't modify frozen String
  from (irb):3
  from /usr/bin/irb:11:in `<main>'

# +演算子をつけるとfrozenが解除される
+freze_text << "a"
=> "hubukia"

参考リンク