Sep 22, 2015 Ruby の定数はミュータブルのため、目立たないバグを埋め込む可能性がある。 Object#freeze を使うとオブジェクトをイミュータブル(状態変更不可)にできる。 Ruby の定数Ruby 以外の言語では再代入させない場合があるが、Ruby の定数は Warning を出しつつも再代入できる。 irb(main):001:0> CONST = "constant string" => "constant string" irb(main):002:0> CONST = "overwrite!" (irb):2: warning: already initialized constant CONST (irb):1: warning: previous definition of CONST was here => "overwrite!"