Kontrollanweisungen

Dieser Abschnitt enthält Beschreibungen der Befehle, die den Ablauf der Befehlsausführung in einem Skript steuern. Diese Befehle bieten Funktionen für die bedingte Befehlsausführung (if, while,) und Schleifenkonstrukte (for).

Anmerkung: Die Informationen in diesem Abschnitt beziehen sich direkt auf das Handbuch Qt Script for Applications.

break

Dieses Schlüsselwort wird in "for"-Schleifen, "do"-Schleifen, "while"-Schleifen und "switch"-Anweisungen verwendet. Bei Ausführung einer "break"-Anweisung in einer Schleife wird die Kontrolle an die Anweisung direkt nach der innersten Schleife, in der sich die "break"-Anweisung befindet, übergeben. Wenn jedoch hinter der "break"-Anweisung der Bezeichner einer Sprungmarke steht, wird die Kontrolle an die Anweisung übergeben, die durch die Sprungmarke gekennzeichnet ist.

Innerhalb einer "switch"-Anweisung wird in der Regel am Ende einer jeden "case"-Verzweigung eine "break"-Anweisung platziert, um zu verhindern, das der Interpreter zur nächsten "case"-Verzweigung "durchrutscht". Sobald der Interpreter auf eine "break"-Anweisung trifft, wird die Kontrolle an die Anweisung übergeben, die auf die innerste, die Anweisung einschließende "switch"-Anweisung folgt. Wenn für jede "case"-Verzweigung eine entsprechende "break"-Anweisung vorhanden ist, werden die Anweisungen von maximal einer "case"-Verzweigung ausgeführt. Wenn hinter der "break"-Anweisung der Bezeichner einer Sprungmarke steht, wird die Kontrolle an die mit dieser Sprungmarke gekennzeichnete Anweisung übergeben. Dies ist beispielsweise sinnvoll, um aus einem stark verschachtelten Schleifenkonstrukt auszubrechen.

Beispiel:

case

Dieses Schlüsselwort wird in "switch"-Anweisungen verwendet. Für jeden möglichen Wert, der in einer "switch"-Anweisung ausgewertet wird, kann eine "case"-Verzweigung programmiert werden (siehe jedoch "default"). Wenn der Literal-Wert (Value) einer "case"-Verzweigung mit dem Wert des Ausdrucks der "switch"-Anweisung übereinstimmt, werden die Anweisungen dieser "case"-Verzweigung ausgeführt.

Normalerweise enden die Anweisungen einer "case"-Verzweigung mit einer "break"-Anweisung, die dazu führt, dass die Skriptausführung zum Ende der "switch"-Anweisung verzweigt.

continue

Dieses Schlüsselwort wird im Kontext einer "for"-, "while"- oder "do"-Schleife verwendet.

Bei Ausführung einer "continue"-Anweisung in einer "for"-Schleife geht die Kontrolle direkt an den dritten Teil der "for"-Schleife (wo normalerweise ein Zähler inkrementiert oder dekrementiert wird) über, und die Ausführung wird dann normal fortgesetzt, d.h., es wird der mittlere Teil der "for"-Schleife (die Bedingung) getestet und, falls zutreffend, der Schleifenrumpf ausgeführt.

Bei Ausführung einer "continue"-Anweisung in einer "while"- oder "do"-Schleife geht die Kontrolle direkt an die Bedingung über, die erneut getestet wird. Sofern der Bedingungstest weiterhin "true" ergibt, wird der Schleifenrumpf erneut ausgeführt.

Vorgabe

Dieses Schlüsselwort wird in "switch"-Anweisungen verwendet. Es dient dem Abgleich mit beliebigen Werten des ausgewerteten Ausdrucks der "switch"-Anweisung. Ohne Verwendung von "default" wird bei Nichtübereinstimmung mit allen "case"-Werten keine weitere Anweisung innerhalb der "switch"-Anweisung ausgeführt, und die Kontrolle geht an die darauf folgende Anweisung über. Wird eine "default"-Verzweigung verwendet, muss sie die letzte innerhalb der "switch"-Anweisung sein. Da alle "case"-Verzweigungen in der gegebenen Reihenfolge ausgewertet werden und die "default"-Verzweigung für jeden beliebigen Wert eine Übereinstimmung liefert, würden diese in jedem Fall ausgeführt werden, sobald der Interpreter dorthin gelangt, und die nachfolgenden "case"-Verzweigungen würden ignoriert werden. Sobald die Kontrolle an die "default"-Verzweigung übergeben wird, werden deren Anweisungen (die "DefaultStatements") ausgeführt. Üblicherweise endet eine "default"-Verzweigung mit einer "break"-Anweisung.

do

Dieses Schlüsselwort dient in Verbindung mit "while" dazu, eine Schleife zu konstruieren, die mindestens einmal ausgeführt wird.

Die Anweisungen innerhalb der geschweiften Klammern werden einmal ausgeführt. Wenn die "while"-Bedingung zu "true" ausgewertet wird, geht die Kontrolle zurück zum Anfang der "do"-Schleife, und der gesamte Vorgang wiederholt sich. Sollte der Test der "while"-Bedingung jemals "false" ergeben, wird die Ausführung mit der auf das "do - while"-Konstrukt folgenden Anweisung fortgesetzt.

Beispiel:

Das Beispiel gibt nacheinander die Werte 5, 10, 15, ...,45, 55, 60, 65, ..., 95 auf der Konsole aus.

else

Das Schlüsselwort "else" wird in Verbindung mit "if" verwendet.

for

Dieses Schlüsselwort dient zum Erstellen einer Schleife mit einer festgelegten Anzahl von Schleifendurchläufen.

Die "for-"Anweisung besteht aus folgenden Teilen: dem Schlüsselwort "for", einer öffnenden Klammer, null oder mehr Anweisungen (Teil 1), einem Semikolon, einem bedingten Ausdruck (Teil 2), einem Semikolon, null oder mehr Anweisungen (Teil 3), einer schließenden Klammer und schließlich einer einzelnen Anweisung oder einem Block, der von der "for-"Schleife" kontrolliert wird.

Teil 1 der "for"-Anweisung dient in der Regel zur Initialisierung (und möglicherweise Deklarierung) der Variablen, die in der Bedingung von Teil 2 der Schleifenanweisung verwendet wird. Dieses Teil wird vor Beginn der Schleifenausführung einmal ausgeführt. Er kann leer sein.

Teil 2 enthält einen bedingten Ausdruck. Der Ausdruck wird vor jedem Schleifendurchgang (einschließlich der ersten Iteration) ausgewertet. Wenn die Auswertung des Ausdrucks "false" ergibt, wird der aus einer Anweisung oder einem Block bestehende Schleifenrumpf nicht ausgeführt, und die Kontrolle geht an die nachfolgende Anweisung über. Sollte die Bedingung niemals zutreffen, wird der aus einer Anweisung oder einem Block bestehende Rumpf der "for"-Schleife niemals ausgeführt. Wenn die Auswertung des bedingten Ausdrucks "true" ergibt, wird der aus einer Anweisung oder einem Block bestehende Rumpf der "for"-Schleife ausgeführt. Anschließend wird Teil 3 der Anweisung ausgeführt, bevor die Kontrolle an den bedingten Ausdruck zurückgegeben wird und sich der gesamte Vorgang wiederholt. Dieser Teil sollte nicht leer sein.

Teil 3 enthält Anweisungen, die am Ende jeder Schleifeniteration ausgeführt werden müssen Dieser Teil dient in der Regel dazu, den Wert einer in Teil 1 initialisierten Variablen zu inkrementieren, der in Teil getestet wird. Er kann leer sein.

In dem folgenden Beispiel werden Objekte mit den IDs 44 bis 52 ausgewählt.

if

Eine "if"-Anweisung ermöglicht eine zweifache Verzweigung. Mehrfache Verzweigungen können mit "else if" gebildet werden.

switch

Eine "switch"-Anweisung ermöglicht eine mehrfache Verzweigung. Der Ausdruck wird einmal ausgewertet. Anschließend wird jede "case"-Verzweigung überprüft, um diejenige zu finden, deren zugehöriges Literal (Value) denselben Wert wie der Ausdruck hat. Sofern eine Übereinstimmung gefunden wird, werden die Anweisungen ausgeführt, die dieser "case"-Verzweigung zugeordnet sind. Anschließend wechselt die Kontrolle zur auf den "switch"-Block folgenden Anweisung. Wenn keine "case"-Verzweigung eine Übereinstimmung liefert und eine "default"-Verzweigung definiert ist. werden die Anweisungen dieser Verzweigung (DefaultStatements) ausgeführt. Anschließend wechselt die Kontrolle zur auf den "switch"-Block folgenden Anweisung. Falls keine "case"-Verzweigung eine Übereinstimmung liefert und keine "default"-Verzweigung definiert ist, werden keine Anweisungen innerhalb des "switch"-Blocks ausgeführt und die Kontrolle wechselt zur auf den "switch"-Block folgenden Anweisung.

Beachten Sie, dass bei Verwendung einer "default"-Verzweigung diese nach allen "case"-Verzweigungen platziert sein muss, denn diese Verzweigung liefert unabhängig davon, was noch folgt, in jedem Fall eine Übereinstimmung.

Jede "case"-Verzweigung und auch die "default"-Verzweigung (sofern definiert) sollte mit einer "break"-Anweisung enden. Ohne diese abschließende "break"-Anweisung geht die Kontrolle einfach sequenziell an die nachfolgenden Anweisungen über, was in der Regel nicht das gewünschte Verhalten ist.

Der Ausdruck kann ein beliebiger Autodesk® CFD Script-Ausdruck sein, der sich zu einem exakt vergleichbaren Objekt auswerten lässt. Beispielsweise ein Ausdruck, der zu einem Booleschen Wert, einem Datum, einer Zahl oder Zeichenfolge ausgewertet wird.

while

Dieses Schlüsselwort wird verwendet, um einen Codeblock überhaupt nicht oder mehrere Male auszuführen. Bei Ausführung einer "while"-Anweisung wird zuerst die Bedingung ausgewertet. Wenn die Bedingung erfüllt ist, werden die Anweisungen (Statements) im "while"-Block ausgeführt. Andernfalls wechselt die Kontrolle zur auf den "while"-Block folgenden Anweisung. Wenn die Bedingung erfüllt ist, nachdem die Anweisungen ausgeführt wurden, wird der gesamte Vorgang der Ausführung der "while"-Anweisung wiederholt.

Beispiel: