条件文とは、条件に応じてスクリプトの動作を変化させるための構文です。もっとも単純な形は次のように表されます。
if (条件) then (命令文) 条件の部分は、真偽値を返す式が入ります。例えば「 i = 0 」という条件式が入れば、「 i 」が 0 の場合は(命令文)が実行され、それ以外であればなにもせず先に進みます。
上の条件文では条件が正しかったときに実行できる命令文が1行だけのため、複数行実行できる構文が用意されています。
if (条件) then
(命令文)
c
end ifさて、条件に一致する場合はこれでいいのですが、それ以外の時だけ実行する命令文を記述したいときはさらに次のように書きます。
if (条件) then
(一致したときの命令文)
else
(一致しなかったときの命令文)
end ifまた、条件をいくつも設定して、それぞれ違った動作をさせたいときもあります。そういうときには次のように記述します。
if (条件 A) then
(A に一致したときの命令文)
else if (条件 B) then
(B に一致したときの命令文)
c
else
(どれにも一致しなかったときの命令文)
end if例を挙げてみましょう。
set FruitName to "xxx"
if FruitName is "みかん" then
display dialog "オレンジ色"
else if FruitName is "メロン" then
display dialog "緑色"
else if FuitName is "リンゴ" then
display dialog "赤色"
else
display dialog "よく知らない"
end ifこの例では、"xxx"の部分に果物の名前を入れると、その果物の色を表示します。
とりあえず条件の部分には真偽値(trueまたはfalse)を返すものならなんでも設定できます。例えば「3 > 1」はtrueですが「10 > 15」はfalseを返します。文字列では「"Himeji" = "Himeji"」はtrueですが、「"Himeji" = "Kobe"」はfalseとなります。
条件の部分に複数の条件式を入れ、複雑な条件判断を行うことも可能です。
if (条件A) and (条件B) then (命令文)
if (条件A) or (条件B) then (命令文)
「 and 」は、複数の条件の両方が真であるときだけ真を返します。また「 or 」はどちらか一方の条件が真であれば真を返します。
また、条件を「 not 」とすることで、真偽を逆転させることができます。
if not (条件) then (命令文)
以上で条件文の説明を終了します。自分自身で色々条件を変えてみて、条件文の使い方をマスターして下さい。
Reference
次へ進む