記事の内容
この記事では、Rubyの定数の特徴を説明します。
他の言語では定数を書き換えることはできませんが、Rubyでは定数を書き換えることができます。
Rubyの定数の特徴
Rubyの定数は、先頭が大文字で始まります。
「Country」「COUNTRY」「COUNTry」の全てが定数です。
定数を書き換えようとすると、警告は出るものの値を書き換えることは可能であることがわかります。
class(クラス)内で定数を使ってみる
定数は、クラス内で使うことも可能です。
クラス内で、変更が少ない値、例えば消費税の税率のよう値を定数にしておくと、後で変更もしやすくて便利です。
「クラス名::定数名」という書き方で、クラスの定数にアクセスすることができます。
定数を変更不可にしよう(freeze)
定数を変更不可にすることもできるので、そのやり方を見ておきましょう。
定数をmoduleで囲って、moduleごとfreezeすれば、定数は変更不可になります。
配列の場合は、もう少し複雑になります。
配列の中身ごとfreezeしましょう。
まとめ
この記事では、Rubyの定数の特徴について説明しました。
Rubyでは、普通に使うと定数を変更できてしまいます。
書き換えられたくない時は、必ずfreezeを使うようにしましょう。
Good luck for your engineer life!