Ruby の定数や Object.freeze の理解が曖昧だったのでメモ
◆定数には再代入可能(怒られるけど)。 irb(main):001:0> HOGE = 'abc' => "abc" irb(main):002:0> HOGE = 'xyz' (irb):2: warning: already initialized constant HOGE (irb):1: warning: previous definition of HOGE was here => "xyz" irb(main):003:0> HOGE => "xyz" ◆書き換えは普通にできる。怒られない。 $ irb irb(main):001:0> HOGE = 'abc' => "abc" irb(main):002:0> HOGE[0] = 'x' => "x" irb(main):003:0> HOGE => "xbc" ◆freeze すれば、書き換えできなくなる。 ...