変数 |
1.変数 |
プログラムでは、いろいろな計算をするのに変数を使います。変数とは、数値や文字列を記憶させるための入れ物です。
x = 3
と書いた場合、数学では「xは3である」という意味ですが、プログラムでは「変数xに3を入れろ」という意味です(「代入」といいます)。数学でも、このxは変数と呼びますね?
a = 12 b = a + 6
と書いた場合、「変数aに12を代入せよ」、「次に、aに6を足した値をbに代入せよ」という意味になります。つまり、bの値は18になります。
a = 12 a = a + 6
と書いた場合、2行目は「aに6を足した値を、aに入れなおせ」という意味であり、aは18になります。
数学と違って、プログラムではもっと長ったらしい変数名にすることも可能です。というよりそれが一般的です。
aisatsu = "こんにちは" mes aisatsu
と書いた場合
mes "こんにちは"
と同じ意味になります。引数には変数あるいは変数を含んだ計算式を指定することができます。
変数名は好きなようにつけていいのですが、HSPの命令語、システム変数と同じ名前をつけることはできません。システム変数とはHSPであらかじめ名前も用途も決められている変数です。
システム変数の例
mousex | マウスカーソルのX座標 |
mousey | マウスカーソルのY座標 |
また、以下の制限があります。
全角文字の変数名も可能ですが、半角文字を使うのが一般的かと思います。
red = 0 : blue = 240 color red, 0, blue mes "こんにちは" red = red + 60 : blue = blue - 60 color red, 0, blue mes "こんにちは" red = red + 60 : blue = blue - 60 color red, 0, blue mes "こんにちは" red = red + 60 : blue = blue - 60 color red, 0, blue mes "こんにちは" red = red + 60 : blue = blue - 60 color red, 0, blue mes "こんにちは"
青から次第に赤に変化させつつ「こんにちは」と書きます。redは0, 60, 120, ……というふうに増えていき、blueは240, 180, 120, ……というふうに減っていきます。
複数の文を":"(コロン)で区切って1行にまとめて書くことができます。これをマルチステートメントといいます。左から順に実行されます。これくらいだったら使うと見やすくなりますが、一般にマルチステートメントは多用すると見にくくなると言われています。
2.データ型と変数の型 |
mes 1 mes 1.2 mes "こんにちは"
値には型があります。1は整数です。1.2は実数です。"こんにちは"は文字列です。これは、1は整数型のデータ(値)、1.2は実数型のデータ、"こんにちは"は文字列型のデータであるとも言えます。
変数にも型があります。後述する配列変数には、型宣言があります。「この変数は実数型である」と宣言した場合、その変数には実数のみを入れます。
HSPの場合、配列変数ではない普通の変数には型宣言がありません。普通の変数には、整数も、実数も、文字列も入れられます。
a = 1 mes a a = 1.2 mes a a = "こんにちは" mes a
実行結果
1
1.200000
こんにちは
このように何型のデータでも入れられる変数の型をバリアント型といいます。