制御フローの定番の書き方
- while (condition)。 ステップで変数を自分自身に代入する
forを使います。 - break。 ループ変数を上限より先に設定するか、条件でチェックしている「続行」フラグをクリアします。
- continue。 本体の残りを
ifで囲みます。 - n % d。
n - (n / d) * d - cond ? a : b。
if (cond) x = a; else x = b; - 再利用可能な関数。 コードを名前付きのスニペットにまとめ、
SnippetExecuteScriptで実行します。 スニペットには独自の変数があるため、値はストレージを介して受け渡します。
// while: ウィンドウが表示されるまで最大 5 秒待つ
w = WindowFindByTitle("Untitled - Notepad");
for (tries = 0; !w && tries < 50; tries = tries + 1) {
UtilityWait(100);
w = WindowFindByTitle("Untitled - Notepad");
}
// break: 最初に一致したところで止める
found = -1;
n = StringSplit("alpha,beta,gamma,delta", ",");
for (i = 0; i < n; i = i + 1) {
if (StringStartsWith(StringGetSplitPartAt(i), "g")) {
found = i;
i = n; // この回の後でループを終了する
}
}
// continue: 空の部分をスキップする
for (i = 0; i < n; i = i + 1) {
part = StringGetSplitPartAt(i);
if (part) {
UtilityPrint(part);
}
}