Operator '@'

Der Operator @ gibt an, dass sich der auf den Operator folgende Name nicht auf ein Feld, sondern auf eine Eigenschaft bezieht. Der Operator ist erforderlich, da Sie mithilfe eines Wertdefinitionsblocks (siehe SET-Werteblöcke) sowohl Werte für Eigenschaften als auch für Felder innerhalb eines Datensatzes definieren können.

Komplexe Eigenschaften können mehrere Eigenschaftsfelder enthalten. Komplexe Eigenschaften benötigen den Operator @, um eine Unterscheidung von den Eigenschaftsfeldern zu ermöglichen (siehe Eigenschaften). Ansonsten wird der Operator nur in seltenen Fällen verwendet. Liegt innerhalb eines Wertdefinitionsblocks kein Namenskonflikt mit einem Feld vor, wird ein Eigenschaftsname von EGL auch ohne den Operator @ erkannt.

Beispiel

Ein EGL-Wörterverzeichnisabschnitt besteht aus einer Liste mit Name/Wert-Paaren. Ordnen Sie diese Name/Wert-Paare mithilfe eines Wertdefinitionsblocks zu. Sie können denselben Wertdefinitionsblock zum Zuordnen von Werten zu Eigenschaften im Wörterverzeichnis selbst verwenden. Mit der folgenden Anweisung wird eine neue Wörterverzeichnisvariable deklariert:
myRef Dictionary {
   displayName = "myNewDictionary"
   };
Aufgrund von Auflösungsregeln für Abschnitte (siehe EGL-Regeln für Abschnittsauflösung) geht EGL davon aus, dass es sich bei displayName = "myNewDictionary" um ein Name/Wert-Paar im neuen Wörterverzeichnis handelt. Wenn Sie einen Wert zu der Eigenschaft displayName für das Wörterverzeichnis zuordnen möchten, müssen Sie den Operator @ verwenden. Dazu ein Beispiel:
myRef Dictionary {
   @displayName {"myNewDictionary"}
   };

Feedback