組み込み関数の呼び出し
- 引数は位置で指定し、すべて必須です。 省略可能な引数、名前付き引数、可変長引数を受け取る組み込み関数はありません。 リファレンスのパラメーター名は単なるラベルです。
- 引数の数はスクリプトのコンパイル時にチェックされます。 そのため、数が誤っているとスクリプトは何も実行されないまま停止します。
- 引数の種類は呼び出しの実行時にチェックされ、完全に一致する必要があります。ただし拡張が 1 つだけあります。
Real と宣言されている場所に Integer を渡すと、算術演算と同様にその Real になります (
MathSqrt(16)は動作します)。 Integer と宣言されている場所に Real を渡したり、Text と宣言されている場所に数値を渡したりすると (UtilityPrint(42))、Name: 引数 N の型が正しくありません というエラーでアクションが停止します。 Any と表示されているパラメーターは任意の種類を受け付けます。 - すべての組み込み関数は値を返します。 ほとんどの操作は「成功したかどうか」を表す Bool を返し、無視することもテストすることもできます。
- 見つからないことは通常の結果であり、エラーではありません。 見つからなかったウィンドウは null の Window です。
null の Window や閉じたウィンドウを
Window*組み込み関数に渡しても何も行われず、false、0、または""が返されるため、 見つからなかったハンドルに対してウィンドウの呼び出しを続けても安全です。コンテキストの組み込み関数は、 トリガーの外では""、0、-1、または null の Window を返します。 - 複数の結果は「列挙してからインデックスで読み取る」方式です。
WindowGetAllTopLevel()、FolderEnumerateAll(…)、StringSplit(…)、DisplayMonitorEnumeratedAll()などの呼び出しは数を返し、 対応する…EnumeratedAt(i)/…PartAt(i)が0から 数 − 1 までの項目iを読み取ります。各ファミリには スクリプトの実行ごとにキャッシュが 1 つあり、同じファミリで次に列挙を呼び出すとそれが置き換えられます。 - プラグインが独自の組み込み関数を提供することもできます。呼び出し方は同じです。スクリプトのコンパイル時にそのプラグインが 接続されていない場合、スクリプトは実行されず、その理由が通知で表示されます。
n = WindowGetAllTopLevel(); // 数を返し、ウィンドウのキャッシュを埋める
for (i = 0; i < n; i = i + 1) {
w = WindowGetEnumeratedAt(i); // そのキャッシュの項目 i
if (WindowGetVisible(w) && WindowGetTitle(w)) {
UtilityPrint(WindowGetExecutableName(w) + " - " + WindowGetTitle(w));
}
}