Start!
Step1
Step2
Step3
Step4
Step5
Step6
Step7
Step8
Final
Special thanks
Cover
| ## step7：変数を使ってみよう そろそろスクリプトが長くなってきましたよね。こうなると、複雑で読 みにくくなってくることがあります。そんな時に便利なのがコメントで す。コメントとは、スクリプトの中に注釈として好きな文字を入れてお くこと。でも、それが命令と勘違いされては困るのでコメントの書き方 にもルールがあります。たとえば、 ; この行はコメントでーす mes "メッセージ"; この部分はコメントでーす のように使います。つまり 「;(セミコロン)」の後はコメントになり、無視される。 ということです。「;」の後には命令を書こうが、文章を書こうがスク リプトの実行には何の影響もありません。ですから、 exec "notepad" ; メモ帳を起動 のように気軽に注釈をつけておくことが可能です。こうすれば、後でス クリプトを見直した時にも、どの行で何が行なわれているかが解りやす くなるので、おすすめですよ。 さて、それでは本題の「変数を使ってみよう」に入りましょう。 そもそも変数って何なんだー、って思うでしょう。いままでは、たとえ ばカレントポジションを変更したければ、 pos 150,80 ; カレントポジションを(150,80)に変更 のように数値を指定していました。これを変数というもので置きかえる ことができます。すると、 x=150 ; 変数xに150を代入 y=80 ; 変数yに80を代入 pos x,y ; カレントポジションを(x,y)に変更 こうなります。これでも、カレントポジションは(150,80)に変更されま す。ええーーー?? どうしてーー?? 変数はよく、「いれもの」にたとえられます。数値を記憶しておく、「 いれもの」です。「いれもの」には名前をつけておきます。たとえば、 「x という名前のいれもの」 「いれもの」には当然、中に何かを入れることができます。 「xといういれものに100という数字を入れる」 といった感じで、中に数字を入れておくことができます。この「いれもの」が、すなわち変数。だから、上の言葉は、 「xという変数に100という数字を入れる」 ということだと思ってください。これをスクリプトで書くと、 x=100 になります。このように変数（いれもの）に数字を入れることを「代入」 と呼びます。代入を行なうと、変数に数字が記憶され、それ以降はその 変数を数字のかわりとして使うことができるようになります。 「代入」とは、変数に数値を覚えさせること 「代入」は、「変数名」＋「=(イコール)」＋「数値」で行なう というのをよく覚えておいてください。
hensu | = | 1234
| |  | ｜
変数名 |  | 代入する数値
代入だけは、他の命令と違って書き方が特殊ですが、算数の式と似てい るのでわかってしまえば簡単です。 変数名は、英文字(20文字以内)の名前をつけたもので、 覚えさせられる数値は、「123」のような整数値か、「1.5」のような小数値になります。 変数名には、さらにルールがあります。命令と同じ単語は使ってはいけ ません。命令か変数かわからなくなっちゃいますからね。あと、前に説明したラベルと同じ名前を使ってもいけません。 変数は好きな時に代入することができ、スクリプトの中で何度でも変更 することができます。１つの変数が覚えているのは１つの数値だけです から、最後に代入した数値が常に記憶されてることになります。 たとえば、 hen=150 cls 1 hen=50 のようなスクリプトは、1行目で変数henに150という数値を代入しまし たが、3行目には変数henは50に変更されています。この時点ですでに前 に代入した150は消えてなくなってしまいます。 でもここで言っているだけでは、やっぱりいまひとつ解りませんよね。 そこで、変数の記憶している数値を実際に確かめてみましょう。 前に出てきた「mes」命令でそれができます。「mes」命令は、 mes "文字列"+変数名 で文字列の後に変数の内容を表示できるのです。「+(プラス)」の記号 を使うことで文字列と変数名をどんどんつなげることもできます。 これを使った、次のようなスクリプトを入力してみましょう。 hen=150 mes "現在の変数henの数値は、"+hen+"です。" hen=50 mes "現在の変数henの数値は、"+hen+"です。" stop このスクリプトを実行してみると…。 現在の変数henの数値は、150です。 現在の変数henの数値は、50です。 というように表示されます。 つまり、2行目の時点では変数henは150という数値を記憶していました が、3行目に新しく代入があったので、4行目では変数henは50という数 値になっていたのです。 さあ、ここまでわかったところで、もともとの例になっていたスクリプ トに戻ってみましょう。 x=150 y=80 pos x,y というスクリプトは結局、 pos 150,80 と指定しているのと同じことなのです。 数字の代わりに、名前を使ってるだけなんじゃないかー。と思うかもし れません。いやいやしかし、これは実はとても応用のきく便利なものな のです。そのカギを握るもの。それが数式です。 いままでパラメータとして数値を入れる場所には、100とか20とかいう 数を直接書いていました。そしてさらに、それ以外に変数を書いてもい いということも覚えましたね。でもでもしかし、いやいや実は、 数式を書いてもよかったのです。 えーーー?? 今度は数式??　また別な要素が?? と思うのは間違いで、数字と変数を計算式とおり混ぜて書くことができ るということなのです。それが数式。つまり、 数式とは、数値と変数、またはそれらを計算式でつなげて書くこと なのです。計算式とは、つまり 1+1 とか、 125+200-32 とか。いわゆる、算数の式です。だから、 pos 150,100 じゃなくて、 pos 100+50,50*2 でもいいのです。これも「150,100」と同じことになります。 いやいやちょっと「50*2」って何??　と思うでしょう。HSPでは、計算 で使う記号が次のようになっているのです。 「+」は足し算 「-」は引き算 「*」は掛け算(×) 「/」は割り算(÷) キーボードには「×」「÷」といった記号がないので、かわりに別の記 号を使っています。だから、「50*2」は50掛ける2のこと。これに変数 をまぜることができるわけですから、 x=30 y=100 pos x,y mes "１．ばんめ" pos x,y+50 mes "２．ばんめ" のように、使用できます。この例だと、(30,100)と(30,150)にメッセー ジが表示されます。しかもこの場合、「もうちょっと全体を上にずらし たい…」という時に、2行目のy=100を、y=80などに変更するだけで、2 つのメッセージの場所をいっきに変更することができるというわけ。 この例だとメッセージが2つだけだから楽だけど、これが10行くらいあ るメッセージだとしたら、いちいち「pos」命令の数値を変更していく 苦労と比べるとすごく便利になりますよね。 数式はさらに、変数の代入でも使うことができます。 x=5 y=10 z=x*8/y のように使ってみたり、 hen=0 hen=hen+1 のように使います。上の例では、1行目で変数henは0が代入されていま す。でも2行目でどうなっちゃうんでしょう?? 2行目で変数henに代入される前の時点での変数henは、0です。それに1 を足したものを、ふたたび変数henに代入するわけですから、変数henは 1になります…と、そんな複雑に考えなくても、 hen=hen+1 は、変数henの内容に1を足す というように覚えておくだけでOKです。このように、もとの変数の値を 計算によって変化させる…というパターンはよく使うことが多いので、 決まり文句だと思って覚えてしまってもいいでしょう。 さあ、だいたいの変数の使い方、理解できましたか?? この次のパートでは、さらにその応用を説明していきましょうね。
| step8：さらに高度な条件判断

ONION software Copyright 1997-2009(c) All rights reserved.