freezeについて
Rubyにはfreezeというインスタンスメソッドがあるらしい。
array = ["a", "b", "c"].freeze
array = array.map!{|content| content.succ}
p array
can't modify frozen Array: ["a", "b", "c"] (FrozenError)
このようになる。
このfreezeメソッドを使用すると、オブジェクトを凍結させることができるらしい。
凍結 = 変更が効かなくなるらしい。
だから、array = ["a", "b", "c"].freeze
こうすることで配列を凍結することができる。
そのため、次の行の処理array = array.map!{|content| content.succ}
はエラーとなる。
参考