FLASH初心者、プログラミング初心者でもわかる!

FLASHアクションスクリプト入門編

変数の名前と値

変数の名前と値について考えてみよう!


TUTORIAL 01でなんとなく変数を使えるようになった?と思います。TUTORIAL 02では変数についてもう少し深くお勉強しましょう。

具体的に、num = 100; という式について考えよう!

num = 100; とは何を表しているのでしょうか? ずばり、アクションスクリプト(に限りませんが)では、「100 を num に代入する。」です。

num = 100; を分解してみると...
num → 変数(変数の名前)
 → 代入演算子
100 →  
セミコロン → 文の終わり 
をそれぞれ表しています。

重要なのは「=」の意味で、これは=の右辺と左辺が等しいという意味ではなくて、「 右辺 を 左辺 に代入しなさい。」 という意味です。というわけで、num = 100; の意味は「numは100です。」 じゃなくて、「100をnumに代入する。」になります。
では、なぜ変数の名前をnumにしたかというと.... 右の説明を見てください。

変数の名前について
本やフリーのサンプルスクリプト、掲示板の解説スクリプトをみていると、num、 tmp、 str、 width、 height、 row、 col、 hogeなどなどをよく見かけるのではないかと思います。普通変数の名前は、変数に代入される予定の値を変数の名前をみてわかるようにつけるのが基本です。だいたい変数名は英語の略記が多いと思います。例えば上に挙げた例だと、

num
→ numbe(数字))のnum
tmp
→ temporary(一時的の)のtmp
str
→ string(プログラミングでは文字列)のstr
col
→ column(縦の列)のcol 

と、いう意味でたいてい使われます。width(横の幅)、height(高さ)、row(横の列、行)で、hogeは掲示板などでよく見かけますが、特に意味はないらしいです。あるHPで変数の名前を考えるのがめんどくさいのでhogeと使うというように書いてありました。

変数の名前で代入されるだろう値がわかるだけでもそのスクリプトを理解するのに役に立つし、他の人にも(自分にも)わかりやすいスクリプトになるので変数の名前というのは結構大切なんですよ。

あと、ここには書きませんが変数の名前のつけ方にはちょっとだけ制約がありますのでその辺は気をつけてください。
変数の名前の付け方参考HP:
 Flash ActionScript Helper 変数

変数に代入される値の種類
変数にはいろいろな種類の値を代入することができます。 TUTORIAL01で練習した数字や文字列、ブール(Boolean→trueまたはfalseのみの値)などです。

値の種類なんてどうでもいいんじゃない?と思うかもしれませんが、これも重要なのです。
 
   
記述のしかた
文字列

” ”の間に挿入された文字、数字、英字など

数字 
数字のみ
ブール
true または false

QUESTION 01 変数についての問題
ではおさらいを兼ねて、変数についての問題!!
1: str1 = "こんにちは!";
2: str2 = こんにちは!;  
3: num1 = 20;  
4: num2 = "20";
5: bool = true;

問題1 下のスクリプトで正しくないものが1つあります。それは何行目のスクリプトでしょうか?

問題2 num1=20; と num2="20"; 違いはなんですか?

問題3 trace(num1+num2);はどうなるでしょう?



問題1の回答
2行目の str2=こんにちは!; です。
なぜダメかというと、文字列は””で挟まないと文字列と認識してくれないからです。じゃ、3行目のnum1=20;はなんでいいの?と思うかもしれませんが、これは数字の20と認識されるのでOKなんです。

問題2の回答
num1の値は数字、num2の値は文字列、です。
試してみるとわかるのですが、trace(num1); としてもtrace(num2);としても出力は同じ20です。でもこうした場合どうでしょう?
trace(num1+num1); ... (1)
trace(num2+num2); ... (2)
(1)の出力は40、(2)の出力は2020になりましたよね?
これは変数num1には数字の20が代入されているので、(1)の場合数学の数字の計算20+20=40で、40が出力されます。
(2)の場合だと、文字列の20が代入されているので、"20"+"20"、つまり"20"のあとに"20"をつけなさいということになり、2020が出力されます。

問題3の回答
正解は2020です。
数字+文字列=文字列になっちゃうんですねー。計算してるつもりなのに文字列になっちゃってる?!なんてこともあるので気をつけましょう!!

 FLASHアクションスクリプト入門編 講座一覧へ戻る
 isValid TOPへ戻る


Click Here! LOLIPOP!! ←ロリポップサーバーのホムペおじさん。安くて使いやすいですよ。オススメです。