目次へ | 前の項目へ | 次の項目へ |
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 |
結果を確かめてください。
ページの先頭へ | 目次へ | 前の項目へ | 次の項目へ |