> > freeze の使い方がよくわからないので質問します。
>
> 何もおかしなところは、見当たりませんが。

わかりました。
文字列オブジェクトの凍結ではなく、
変数の参照自体を凍結したいという要求でしょうか?

定数を使用すれば良いかと思いましたが、
定数の再代入は警告表示だけで、
例外が発生するわけではないので、
ご期待されている動作にはなりませんね。

C = 'foo'.freeze
puts C.frozen?

begin
  C = 'bar'
rescue
  puts 'trap!'
ensure
  puts C.frozen?
  puts C
end
----
小迫@ソフネック   渋谷区恵比寿1-15-1