__LINE__現在のソースファイル中の行番号__ENCODING__現在のソースファイルのスクリプトエンコーディング疑似変数の値を変更することはできません。擬似変数へ代入すると文法エラーになります。始まる識別子は定数です。大文字またはタイトルケース文字から始まる識別子も定数です。以外の時は小文字に変換できる文字から始まる識別子が定数です。代入によって行われますが、メソッドの中では定義できません。一度定義された定数に再び代入を行おうとすると警告メッセージが出ます。定数はその定数が定義されたクラス/モジュール定義の中(メソッド本体やネストしたクラス/モジュール定義中を含みます)、クラスを継承しているクラス、モジュールをインクルードしているクラスまたはモジュールから参照することができます。所属することになります。endendまたクラス定義式はクラスオブジェクトの生成を行うと同時に、名前がクラス名である定数にクラスオブジェクトを代入する動作をします。クラス名を参照することは文法上は定数を参照していることになります。Cあるクラスまたはモジュールで定義された定数を外部から参照するためには`::'演算子を用います。Objectクラスで定義されている定数(トップレベルの定数と言う)を確実に参照するためには左辺無しの`::'演算子が使えます。親クラスとネストの外側のクラスで同名の定数が定義されているとネストの外側の定数の方を先に参照します。定数参照時の定数の探索順序は、最初にネスト関係を外側に向かって探索し、次に継承関係を上位に向かって探索します。endendトップレベルの定数定義はネストの外側とはみなされません。したがってトップレベルの定数は、継承関係を探索した結果で参照されるので優先順位は低いと言えます。代入を行うと、上位の定数への代入ではなく、そのクラスの定数の定義になります。演算子で明示すれば見える)endフィードバックはこちら。