表引き
表引きは配列の章でもすでに出てきました。配列にあらかじめデータを入れておき、それを添え字を使って引き出す、というものです。
たとえば、1~5までの数を入力し、4を入力したら「あたり」、そうでなければ「はずれ」と表示するプログラムを作るとします。普通にIF文を使って書くなら以下のようになるでしょう。
num = CInt(InputBox("1~5までの数を入力してください")) if( num = 4 ) then MsgBox "あたりです" else MsgBox "はずれです" end if
これを表引きを使って実現するとするなら以下のようになります。
Dim hantei(5) hantei(1) = "はずれです" hantei(2) = "はずれです" hantei(3) = "はずれです" hantei(4) = "あたりです" hantei(5) = "はずれです" str = InputBox("1~5までの数を入力してください") num = CInt(str) MsgBox hantei(num)
最初に配列 hantei に数に対応したメッセージを入れておくわけです。そうすれば、入力した数を添え字として配列の内容を引き出すだけであたりかはずれかメッセージが出ることになります。
このような処理を表引きといいます。表引きはif文では複雑になってしまうような条件(たとえば上の例では2と4は「あたり」で5は「不明です」と表示するなど)や、とても時間がかかる計算の答えをあらかじめ計算して配列に全結果を入れておきそれを引き出すだけにすれば処理が高速化されるなどのメリットがあります。