25.c. 代入

目次へ 前の項目へ次の項目へ

先程、何の説明もなく、

a = 1

のようなスクリプトを書きました。数学では、等号である = は左辺と右辺の値が 等しいことを意味します。なので、

a = a + 1

という式は、両辺から a を引くと

0 = 1

になるので、間違いです。しかし、プログラミング言語においては、=は代入を意 味します。すなわち、右辺の値を左辺に代入する操作です。ということは、最初に 書いた、

a = 1

a という変数に値 1 を代入することを意味しています。そうすると、

a = a + 1

はどうなるでしょうか。言葉で説明すると、もともとあった a という変 数の値に 1 を加えたものを新しい a の値にしなさい、ということにな ります。要は、a に 1 を足すわけです。これを新たな変数を用意しない で、実現できるところがミソです。このような代入を特別に「自己代入」と呼びま すが、プログラミングで実によく出てくる大事な概念ですので、覚えておいてくだ さい。なお、Rubyを始めとしていくつかの言語では、このような自己代入を

a += 1

のように簡単化して記述できます。こちらも覚えておくと楽です。

また、代入は数値だけではありません。先程も出てきましたが、文字列も代入でき ます。次のようなスクリプトを作成し、実行してみてください。ファイル名はとり あえず、sub.rbとでもしておきましょうか。

string = "mojiretsu"
string += " tsuika"
puts string

結果を確かめてください。


ページの先頭へ目次へ 前の項目へ次の項目へ