条件文

条件文を利用すると、特定の条件下のみで行われるアクションや、その他の条件下で行われるアクションの実行をスクリプトに選択させることができます。

if ... then ... else ...

挙動:すべての形態のif文は、条件式を評価します。条件式は、必ず論理値(truefalse、またはその等価値であるyesnoもしくはonoffのいずれか)として評価されます。空の値もfalseとして扱われます。条件がtrue(または、yesもしくは on)の場合、SenseTalkはthenの後にある文または文リストを実行します。条件がfalse(または、nooffもしくは空)の場合、SenseTalkはelse(ある場合)の後にある文または文リストを実行します。

if文は、次のどの形態でも取ることができます。

注: が1つの文であるのに対し、文リストは複数の文でも構いません(1行に1文)。elseの部分は常に任意です。

1行

構文:

if 条件 then

 

if 条件 then else

例:

if true then put "Yes!" // 常に「Yes!」を出力します

例:

if balance < 1000 then put "The balance is getting low"

例:

if the repeatIndex is greater than 5 then LogError "There is a problem." // repeatindex()関数をrepeatループ内で使用すると、repeatループの現在のイテレーションを追跡します

例:

put 4..10 into numList // リスト'(4,5,6,7,8,9,10)'を作成します

repeat with each item of numList // リスト内の各アイテムを基に繰り返しを行います

if it is an even number then log it // 現在のアイテムの値が偶数かどうかをチェックし、偶数であればその値をログします

end repeat

複数行に1文

構文:

if 条件

then

 

if 条件

then

else

例:

put the date into dateoftransaction // 変数に現在の日付を格納します

if dateoftransaction is between date("January 1") and date("June 30")

then

put "First half" into transactionperiod

else

put "Second half" into transactionperiod

log transactionperiod

複数文ブロック

構文:

if 条件 then

文リスト

end if

if 条件 then

 

文リスト

else

文リスト

end if

例:

if myString contains "testcase" then

delete ")" from myString

delete "(" from myString

log myString

end if

例:

If imagefound("on")

then

Click foundimagelocation() // 先の画像"on"が見つかった位置をクリックします

else

Click "off"

end if

連鎖条件

連鎖条件に示すこの最後の形態では、連続した相互排他条件をテストすることができます。任意の数の条件をテストするには、必要な数だけelse ifブロックを連鎖させ、その後にテスト条件のどれにも合致しなかったケースをキャッチするelseブロックを続け(任意)、end ifで閉じます。

構文:

if 条件1 then

文リスト

else if 条件2 then

文リスト

end if

if 条件1 then

 

文リスト

else if 条件2 then

文リスト

else

文リスト

end if

複数文ブロックや連鎖条件においては、希望であれば、行の最後のthenを省略して簡潔にすることもできます。

例:

if imageFound(image:"DashHome",waitFor:0)

Click "DashHome"

else if imageFound(image:"StartHome",waitFor:0)

TypeText WindowsKey,"r"

WaitFor 8, "RunLine"

else

throw "Image not found", "Desktop not visible." // 上の2つの条件のどちらも満たさない場合に例外を投げます

end if

end if

 

This topic was last updated on 2月 01, 2019, at 11:13:23 午前.

Eggplant icon Eggplant.io | Documentation Home | User Forums | Support | Copyright © 2019 Eggplant