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"}
};