Zum Hauptinhalt springen

Variablen

  • Eine Zuweisung erstellt eine Variable. total = 0; Es gibt kein Deklarationsschlüsselwort und keine Typangabe.
  • Eine Variable muss irgendwo oberhalb ihrer ersten Verwendung im Quelltext zugewiesen werden, sonst lässt sich das Skript nicht kompilieren (undefined variable). Das wird anhand der Position im Text geprüft, nicht anhand dessen, was tatsächlich ausgeführt wird.
  • Eine Variable, die nur innerhalb eines if-Zweigs zugewiesen wird, lässt sich daher kompilieren, wenn sie nach dem if verwendet wird. Wurde dieser Zweig nicht ausgeführt, enthält die Variable Integer 0.
  • Es gibt einen Gültigkeitsbereich pro Skript. Ein { }-Block erzeugt keinen neuen Gültigkeitsbereich. Ein Schleifenzähler existiert nach der Schleife mit seinem letzten Wert weiter, und eine Zuweisung an einen Namen innerhalb eines Blocks ändert überall dieselbe Variable.
  • Variablen leben für eine Ausführung des Skripts. Jede Auslösung beginnt ohne Variablen, und zwei gleichzeitig laufende Aktionen sehen nie die Variablen der jeweils anderen. Verwenden Sie Storage, um einen Wert zwischen Ausführungen zu behalten.
  • Eine Variable kann denselben Namen wie eine integrierte Funktion haben. x und x(…) werden an der Klammer unterschieden, den Namen einer integrierten Funktion wiederzuverwenden wird aber nicht empfohlen.
if (MouseGetCursorX() > 500) {
side = "right";
}
UtilityPrint(StringFormat("side = {0}", side, "")); // lässt sich kompilieren; gibt "side = 0" aus, wenn der Zweig nicht lief

for (i = 0; i < 3; i = i + 1) { }
UtilityPrint(StringFormat("i after loop = {0}", i, "")); // 3 -- kein Blockgültigkeitsbereich