皆さまこんにちは。
yu3xx(ゆーさんちょめちょめ)です。
前回のおさらい
前回は「for」や「while」を使った繰り返し処理のお話でした。
今回は「if」を使った「条件分岐」についてです。これも繰り返し処理に並んで、よく使う超重要事項です。
おまけで「ダイアログを使った手動数値入力」の方法も紹介していきます。
単純な分岐
基本形はこちら。
if(条件式){
trueの時の処理;
}else{
falseの時の処理;
}
もし条件式に当てはまるなら「true側の処理」をする、そうじゃないなら「false側の処理」をする、という命令です。
◆ else以下の「もしそうじゃないなら...」の部分を省略する書き方もできます。
サンプル 1 ifの基本
//example 4-1
number = 911;
if(number == 911){
showMessage("This is 911.");
}
実行してみます。
ちなみにshowMessageは、Logウィンドウではなく、ポップアップウィンドウ上にメッセージを表示する方法です。
条件式の書き方はこんな感じです。
== //等しい
!= //等しくない
> //~より大きい
>= //~以上
< //~より小さい
<= //~以下
せっかくなので、数値を入力する簡単なダイアログも一緒に覚えてしまいましょう。
HENSUU = getNumber("文章", 初期値);
" "の文章を表示させてから、ダイアログに手動入力した数値を、変数の中に格納します。
例えば以下のように
a = getNumber("a=",0);
というコードを実行すると、aに代入する値を聞いてくるダイアログが表示されます。
サンプル 2 数値入力で遊ぶ
//example 4-2
old = getNumber("How old are you?",0);
if(old < 20){
showMessage("I'm sorry. You are too young.");
}else{
showMessage("Thank you for your Registration. Click [OK] for Payment.");
}
ご自身でコードを実行して、自分の年齢を打ち込んで動作を確認してみてください。
複雑な分岐
「else if」を使って、少し複雑な分岐も設定できます。
基本形はこちら。
if(条件式1){
処理A;
}else if(条件式2){
処理B;
}else{
処理C;
}
もし「条件式1に当てはまる」なら「処理A」を、「条件式1には当てはまらないけど、条件式2には当てはまる」って時には「処理B」を、「条件式1にも2にも当てはまらないよ」って時には「処理C」を。
という命令です。
書き方で間違えやすい部分は「ifもelseも全部小文字で書く」ってところです。「If」じゃなく「if」、「elseIf」じゃなく「else if」です!
サンプル 3 else ifで複雑な条件分岐
//example 4-3
hour = getNumber("How mony hours do you sleep? (0-24)",0);
if(hour < 0){
showMessage("Error!");
}else if(hour < 5){
showMessage("You'd better sleep now!");
}else if(hour < 11){
showMessage("Good!");
}else if(hour <= 24){
showMessage("You need to work more.");
}else{
showMessage("Error!");
}
マクロを走らせて、ダイアログに様々な数値を打ち込んでみてください。入力する値によって、メッセージが変化する様子が掴めると思います。
例えば、「hourが5以上11未満」だと「Good!」と表示されます。
このように、else ifを使うと「A以上、B未満」のような条件も設定することができます。
今回の内容は以上です。
要点はこんな感じです。
① 「If」じゃなく「if」
② showMessageで、ポップアップ上にメッセージ表示
③ 数値入力ダイアログはgetNumber("文章",初期値)
おしまい
次回は、知ってると便利な「配列」を扱います!こちらもぜひ!
・公開したマクロのまとめ