定数とは、プログラム中で値を変更することのできない変数で、!定数名とは変数=「値」
のように指定します。マニュアルでは、変数>グローバル変数の項目に以下のように書いてあります。
オプション指令「!」をつけて以下のように宣言した変数は強制的にグローバルな定数になります。定数は書き換えすることができない変数です。
「!」をつけて宣言した定数は、プログラム実行前のプリプロセスの段階で定義されます。
また似たような用語としてリテラルがありますが、リテラルはプログラム中に直接書かれる定数のことを指し、例えば1234
・「文字列」
のように、やはりプログラム中で変更されることのない値です。しかし、これらは上の定義でいう所の定数とは違うものです。
しかし、それではなぜ定数というシステムがあるのでしょうか?直接プログラム中にリテラルを書くのと実質同じはずなのに、回りくどい定数を使うと便利な場面はあるのでしょうか?