Mehrfachausdrücke (Crystal-Syntax)

In der Regel belegt jeder Ausdruck eine Zeile. Sie können mit dem Ausdruck jedoch auch in der nächsten Zeile fortfahren, wenn Sie mehr Platz benötigen.

Die obenstehende Formel besteht aus 5 Ausdrücken. Sie gibt den Zahlenwert 25 zurück, da dies der Wert des letzten Ausdrucks in der Formel ist.

Beispiel

//Der erste Ausdruck gibt die Zahl 30 zurück.
10 + 20;
//Der zweite Ausdruck gibt den Zeichenfolgenwert "Hallo Welt" zurück.
"Hello " +
"World";
//Der dritte Ausdruck gibt einen Wert vom Typ "Zahl" zurück.
{Orders Detail.Quantity} * 2 - 5;
//Der vierte Ausdruck gibt einen Wert vom Typ "Zeichenfolge" zurück.
If {Orders Detail.Quantity} > 1 Then
"multiple units"
Else
"one unit";
//Der fünfte und letzte Ausdruck gibt die Zahl 25 zurück.
20 + 5

Nach dem letzten Ausdruck in der Formel kann ebenfalls ein Semikolon gesetzt werden; dies ist jedoch optional. Die obenstehende Formel hätte beispielsweise folgendermaßen enden können:

20 + 5;

Einige der Beispielformeln im Abschnitt Ausdrücke (Crystal-Syntax) haben keine Semikolons, da sie aus nur einem einzigen Ausdruck bestehen. Nach dem letzten Ausdruck aber ist ein Semikolon optional. Viele Formeln in Crystal-Syntax können als ein einziger Ausdruck geschrieben werden.

Nach der Zeichenfolge "mehrere Einheiten" steht kein Semikolon. Tatsächlich meldet das Programm einen Fehler, wenn Sie hier ein Semikolon setzen. Ein Semikolon trennt zwei Ausdrücke voneinander; das

Else
"one unit";

ist jedoch kein separater Ausdruck. Es kann nicht getrennt vom "If" stehen. Es ist vielmehr ein integraler Bestandteil des If-Ausdrucks, da es den Wert beschreibt, den der If-Ausdruck unter bestimmten Umständen zurückgibt.

NoteAnmerkung

Das hier angegebene Beispiel ist kein praktisches Beispiel, da die vier ersten Ausdrücke in der Formel keine Auswirkung auf den letzten Ausdruck hatten.

So wirken sich frühere Ausdrücke auf spätere Ausdrücke aus

Die Tatsache, dass es sich bei einer Formel in Crystal-Syntax um eine Folge von Ausdrücken handelt, deren Ergebnis der Wert des letzten Ausdrucks sind, stellt das wichtigste Konzept dar, das für ein Verständnis der Crystal-Syntax begriffen werden muss. Aufgrund dieser auf Ausdrücken basierenden Syntax können Sie in sehr kurzen Formeln viel Funktionalität unterbringen.

//Dieser Ausdruck deklariert die Zahlenvariable und gibt dann// den Wert einer nicht initialisierten Zahlenvariablen zurück, die gleich 0 ist.
NumberVar x;
//Zweiter Ausdruck. Er weist x den Wert 30 zu //und gibt 30 zurück.
x := 30

Bei dieser Formel würde ein Fehler ausgegeben, wenn der obere Ausdruck ausgelassen würde, weil sich der zweite Ausdruck auf die Zahlenvariable x bezieht. In diesem Fall verweist der zweite Ausdruck auf die Zahlenvariable x. Dem Programm gegenüber muss allerdings x deklariert sein, bevor ein Ausdruck, in dem x verwendet wird, korrekt verarbeitet werden kann.

Im Allgemeinen werden Variablen dazu eingesetzt, dass frühere Ausdrücke in einer Formel sich auf den letzten Ausdruck auswirken.

Siehe auch