【第30回】ロータス博士のWinActor塾~変数と配列Ⅰ
配列を覚える前に
WinActorでの配列は、プログラミングで使用されているそれとは若干異なりますが、割と有用なものになります。
覚えておいて損は無いものですので、この機会に変数と配列の世界に一歩踏み出してみましょう。
そして配列について学習する前に覚えておきたいのが「変数」の考えです。
変数とはいったいどのような存在なのか、配列とは何か、そして配列の使い方までを2回に分けてお伝えします。
今回は主に「変数」の部分を解説します。
※WinActor塾では、過去にも変数の使い方をご紹介しています
定数と変数
変数について深く知るために、対極の存在である「定数(ていすう)」について説明します。
定数とは、一定の数、つまり変化することのない数です。
数学の世界で考えると、定数は値が固定されて変化しない数のことを指します。
では定数と変数の違いを見てみましょう。
例えば「5x」という数があったとします。これが
5x = 10 であれば、xの値は2になります。10という答えになるのは5 × 2ですのでx=2ですね。
5x = 15 ではどうでしょうか。xの値は3になります。
このように取り得る値が変化する数「x」を変数と呼びます。逆に「5」は変化しませんので、これが定数となります。
うーん、数字がいっぱいでおかしくなりそう
お主、本当にロボットか…?
まあ簡単に言うと、変化するものが変数で、変化しないものが定数じゃ。
WinActorでは「変化するもの」というより「変化するデータ」と言ったほうがよいかな。
よく変数の勉強をすると、変数は箱だと言われますよね。
この数式を見ると、とても箱には見えないんですけど…。
ふむ、では変数がどうして箱と言われるのか説明しよう。
なぜ変数は箱なのか
なぜ変数は箱と言われるのでしょうか。それは変数の役割が、箱の役割とよく似ているからです。
変数には次のような特徴があります。
変数にはデータを入れることができる
変数は箱のような役割を持っています。それは中にデータを格納することができる点です。
これが、変数は箱と言われる最大の理由です。もちろん箱の中からデータを取り出すことも可能です。
ただし、現実世界の箱とまったく同じというわけではありません。
変数には名前を付ける
変数は作成する際に名前を付けなければいけません。
例えば箱が2つ並んでいて、その1つを他の人に取ってもらう場合、みなさんはどのように任意の箱を伝えるでしょうか。
「右の箱」あるいは「左の箱」、大きさが違えば「大きい箱」、色が違えば「青い箱」など、特徴を伝えるでしょう。
しかし、変数には左、右などの位置や、赤、青などの色の違いのような特徴がありません。
これを解決するために、変数に名前を付ける必要があるのです。
変数に名前が付くことによって、特定の箱を指定することができるようになります。
ここまでで、変数はデータが入れられる名前付きの箱というイメージを持てたかの。
さらに変数を扱うにあたって、ルールが3つ存在する。それも確認していこう。
変数を利用する際のルール
ルール1:1つの変数に入れられるデータは1つだけ
たくさんの物を詰め込んで収納用具として使える現実の箱とは違い、変数はお一人様ひとつまでとなります。
複数のデータを扱いたい場合は、その数だけ変数を作る必要があります。
ルール2:別のデータを入れると上書きになる
既にデータが入っている変数に他のデータを入れると、もともと入っていたデータは消えてしまいます。
どちらのデータも消えないように保存しておきたい場合は、新しい変数を用意しましょう。
ルール3:他の変数にデータを移すときはコピーになる
変数は、他の変数にデータを受け渡すことが可能です。
この際、渡す側のデータは消えずに残ります。
WinActorで変数を利用する
ここまでで変数の性質については理解できたかと思う。
実際にWinActorでの使い方を、シンプルな例で見てみよう。
シナリオに待機ボックスを配置して、次のようにプロパティを設定しました。
これが実行されると「こんにちは」という文字が表示されます。
もし「こんにちは」という文字を「こんばんは」に変えたい場合、この設定を行った待機ボックスのノードのプロパティを開き、もう一度設定し直さなくてはいけません。ここで設定している「こんにちは」は定数だからです。
ちょっと難しいかもしれんがプロパティを変えなければ「こんにちは」が変化することはない。
どこまでいっても「こんにちは」のままじゃ。
ここで「あいさつ」という名前の変数を作ってみよう。
「あいさつ」という変数の初期値に「こんばんは」を設定したぞ。
箱で例えた話でいうと、「あいさつ」という名前の箱の中に「こんばんは」を入れた状態ですね。
その通りじゃ。そしてプロパティを次のように設定する。
さっきまでは「こんにちは」を表示して!とノードに指示していたが、今回は
「あいさつ」の中身を表示して!という指示に変わるのじゃ。
実行してみると、待機ボックスでの表示が「こんばんは」になりました。
別にそのまま「こんばんは」って設定しても良いんじゃないですか?
変数にする最大のメリットはこれ以上ノードのプロパティを変更しなくて済むという点じゃ。
この例は簡単じゃから、変数が要らないという考えが出るのもわかる。しかしそれでは
おはよう、おやすみ、さようならなどの挨拶が出るたびにノードを作らねばならん。
う、確かに…。変数にしておけば、その変数の中身を入れ替えるだけで済みますね!
中身を変化させなくても、データを保存しておくための箱としても使えるし
変数って結構重要なんですね。
これで変数がどのようなものかある程度掴めたと思う。
次回は配列を解説していくぞ!変数が理解できていれば配列は簡単じゃ!
それでは次回をお楽しみに!
関連記事こちらの記事も合わせてどうぞ。
2024.11.05
【第105回】ロータス博士のWinActor塾~新しい画像マッチング画面
2024.09.27
【第104回】ロータス博士のWinActor塾~ガイド利用シナリオ(作成編)
2024.09.10