Werttypen
Jede Variable, jedes Argument und jedes Ergebnis enthält genau einen von fünf Typen. Eine Variable hat keinen festen Typ. Sie enthält, was ihr zuletzt zugewiesen wurde.
| Typ | Enthält | Stammt aus | Wahr, wenn | Angezeigt als (StringFormat) |
|---|---|---|---|---|
| Bool | true / false | Literalen, Vergleichen, !, &&, ||, vielen integrierten Funktionen | er true ist | true / false |
| Integer | 64-Bit-Ganzzahl mit Vorzeichen | Ganzzahl- und Hex-Literalen, Konstanten, Ganzzahlarithmetik | er nicht 0 ist | 42, -7 |
| Real | 64-Bit-Gleitkommazahl | Gleitkommaliteralen, jeder Arithmetik mit einem Real | er nicht 0.0 ist | immer sechs Nachkommastellen: 0.500000 |
| Text | Unicode-Zeichenfolge | Zeichenfolgenliteralen, + auf zwei Texten, Textfunktionen | er nicht leer ist | unverändert |
| Window | ein Fensterhandle (HWND) | WindowGetActive, ContextGetWindow, WindowFindByTitle, … | es nicht null ist | 0x00000000000A0B2C |
„Wahr“ (truthy) beschreibt, wie if, for-Bedingungen, !, && und || einen Wert lesen, der
kein Bool ist. Damit funktionieren diese alltäglichen Prüfungen, ohne mit etwas vergleichen zu
müssen:
w = WindowFindByTitle("Calculator");
if (!w) UtilityPrint("Calculator isn't open"); // ein Null-Handle gilt als falsch
text = StringTrim(ClipboardGetText());
if (text) UtilityPrint("Clipboard has: " + text); // leerer Text gilt als falsch
Es gibt keinen Wert für null, undefiniert oder „nichts“. Eine integrierte Funktion, die nichts
findet, gibt je nach Rückgabetyp einen leeren Text, 0, -1, false oder ein Null-Window zurück.
Prüfen Sie auf den Wert, den sie verwendet.