定数への代入

広告

定数は変数と同じく数値や文字列などのオブジェクトに名札を付けるために使用します。

定数 = オブジェクト

右辺のオブジェクトを左辺の定数に代入します。

ここまでは変数と同じですが、定数の場合は一度オブジェクトを代入すると基本的には変更ができません(例外もあります)。この為、値が変化しない数値や文字列などをプログラムの中に記述する場合に使用します。

PI = 3.14

上記では定数「PI」に「3.14」と言う数値オブジェクトを代入しています。定数が宣言された後であれば変数の場合と同じくプログラムの中で定数を記述することが可能です。

PI = 3.14
menseki = PI * 5 * 5

変更されることがないのであれば、直接オブジェクトをプログラムの中に記述しても同じだと思われるかもしれませんが、次のような場合を考えて下さい。

ZEI = 0.05
price = 1000 * (1 + ZEI)

上記は税率を表す数値を定数に代入しています。税率はプログラムの中では変更はされませんが、税率そのものは将来的に変更になる可能性があります。直接数値をプログラムの中に記述した場合、税率が変更になると全ての箇所を変更しなければなりません。例え一度しか代入できないとしても、直接オブジェクトを記述する場合に比べて修正が楽になります。

また定数には一見するとどんな意味を持つのか分からない値に対し、分かりやすい名前を付けることが出来ます。下記の例を見てください。

price = 1000 * (1 + 0,05)

プログラムを作成した人にとっては「0.05」が税率というつもりであることは分かっていますが、他の人が見たときに何故「0.05」と言う数値が乗算されているのか分かりません。

ZEI = 0.05
price = 1000 * (1 + ZEI)

適切な名前の定数に対して数値を代入し、数値の代わりに定数を使用することで税率をかけていることが明確になります。

サンプルプログラム

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

test1-1.rb

#! ruby -Ku
require "kconv"

ZEI = 0.05
price = 1000 * (1 + ZEI)
print(Kconv.tosjis("料金は"), price, Kconv.tosjis("円です¥n"))

上記のプログラムを「test1-1.rb」として保存します。文字コードはUTF-8です。そして下記のように実行して下さい。

定数への代入

( Written by Tatsuo Ikura )