定数名と組み込み定数

広告

定数はプログラムの中で複数使用することができます。定数を区別するために定数にはそれぞれ定数名を付けます。

定数に名前を付ける時は次のルールに従います。

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側で特別な値が代入されています。プログラム内からユーザーが参照することも可能です。また組み込み定数で使われている定数名も独自に作成する定数名としては使用できます。

サンプルプログラム

では簡単なプログラムで確認して見ます。

test2-1.rb

#! 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 )

関連記事 (一部広告含む)