値の種類
変数、引数、結果はいずれも、5 種類のうちちょうど 1 つの値を保持します。変数に決まった型はなく、 最後に代入された値をそのまま保持します。
| 種類 | 保持するもの | 生成元 | truthy になる条件 | 表示形式 (StringFormat) |
|---|---|---|---|---|
| Bool | true / false | リテラル、比較、!、&&、||、多くの組み込み関数 | true である | true / false |
| Integer | 64 ビット符号付き整数 | 整数リテラルと 16 進リテラル、定数、整数の算術演算 | 0 ではない | 42、-7 |
| Real | 64 ビット浮動小数点数 | 実数リテラル、Real を含む算術演算 | 0.0 ではない | 常に小数点以下 6 桁: 0.500000 |
| Text | Unicode 文字列 | 文字列リテラル、2 つの Text に対する +、テキスト系の組み込み関数 | 空ではない | そのまま |
| Window | ウィンドウ ハンドル (HWND) | WindowGetActive、ContextGetWindow、WindowFindByTitle など | null ではない | 0x00000000000A0B2C |
「truthy」とは、if、for の条件、!、&&、|| が Bool 以外の値を真偽としてどう読むかを表します。
これにより、何かと比較しなくても日常的なチェックが書けます。
w = WindowFindByTitle("Calculator");
if (!w) UtilityPrint("Calculator isn't open"); // null ハンドルは falsy
text = StringTrim(ClipboardGetText());
if (text) UtilityPrint("Clipboard has: " + text); // 空の Text は falsy
null、undefined、「何もない」を表す値はありません。何も見つからなかった組み込み関数は、
戻り値の種類に応じて空の Text、0、-1、false、または null の Window を返します。その関数が使う値で確認してください。