定数名と組み込み定数
定数はプログラムの中で複数使用することができます。定数を区別するために定数にはそれぞれ定数名を付けます。
定数に名前を付ける時は次のルールに従います。
1) 1文字目は英大文字 2) 2文字目以降は英数文字、アンダーバー(_) 3) 予約語は使用できない
1文字目はアルファベットの大文字で開始します。2文字目以降はアルファベット、数字、アンダーバーなどが使用できます。
例として次のような定数名が使用できます。
MODE Color Tab_Width
ただし規則ではありませんが定数名として2文字目以降にアルファベットを使用する場合も大文字で統一する慣例となっています。特に理由が無ければ同じようにアルファベットは大文字で統一しておきましょう。
組み込み定数
定数にはユーザー自身が作成する定数の他に、Rubyで標準で用意されている組み込み定数があります。組み込み定数は次のようなものがあります。
STDIN STDOUT STDERR ENV ARGF ARGV DATA TOPLEVEL_BINDING RUBY_VERSION RUBY_RELEASE_DATE RUBY_PLATFORM RUBY_PATCHLEVEL TRUE (obsolete) FALSE (obsolete) NIL (obsolete) VERSION (obsolete) RELEASE_DATE (obsolete) PLATFORM (obsolete)
※(obsolete)とあるものは現在非推奨となっているものです。
これらの定数はRuby側で特別な値が代入されています。プログラム内からユーザーが参照することも可能です。また組み込み定数で使われている定数名も独自に作成する定数名としては使用できます。
サンプルプログラム
では簡単なプログラムで確認して見ます。
#! ruby -Ku print("RUBY_VERSION:" + RUBY_VERSION + "¥n") print("RUBY_RELEASE_DATE:" + RUBY_RELEASE_DATE + "¥n") print("RUBY_PLATFORM:" + RUBY_PLATFORM + "¥n") print("RUBY_PATCHLEVEL:", RUBY_PATCHLEVEL, "¥n")
上記のプログラムを「test2-1.rb」として保存します。文字コードはUTF-8です。そして下記のように実行して下さい。
定数「RUBY_PATCHLEVEL」には数値オブジェクト、それ以外の定数「RUBY_VERSION」「RUBY_RELEASE_DATE」「RUBY_PLATFORM」は文字列オブジェクトが代入されています。
( Written by Tatsuo Ikura )