In Attributwert einfügen
Syntax
$object.add(`$attr`, $value)
$object.add(`$attr`, $index, $value)
Beschreibung
Hängt einen Wert value an ein mengenwertiges Attribut attr des Objekts object an.
Kann auch mit der Funktion set() durchgeführt werden, indem die alte Menge der Attributs mit dem neuen Wert konkatiniert wird:
$object.set(`$attr`, concat(object.get(`$attr`).subList(0, $index), $value, object.get(`$attr`).subList($index)))
Parameter
| Name | Typ | Beschreibung | Pflicht | Default |
|---|---|---|---|---|
| object | Fachobjekt | Das Objekt, dem ein neuer Wert in einem Attribut angefügt werden soll. | ja | |
| attr | Zeichenkette | Das Attribut-Literal des Attributs, dem ein Wert hinzugefügt werden soll. Das Attribut muss eine Liste sein. Attribute mit nur Einzelwerten erzeugen eine Fehlermeldung, da nichts hinzugefügt, sondern nur gesetzt werden kann (vgl. Attributwert setzen) | ja | |
| index | Zahl | Die Position im mengenwertigen Attribut, an der der neue Wert eingefügt werden soll. | nein |
In dem Fall wird der neue Wert an das Ende der Menge eingefügt. |
| value | Zahl/Zeichenkette/Wahrheitswert/Fachobjekt/Menge | Der neue Wert, der dem Attribut des Objekts hinzugefügt werden soll. | ja |
Beispiele
Neues Kind einfügen
{
parent = new(`my.module:MyType`);
child = new(`my.module:MyType`);
$parent.add(`my.module:MyType#children`, $child);
$parent.get(`my.module:MyType#children`);
}
Ausgabe: Eine Liste mit dem Element [child].
Nachdem zwei Objekte erstellt wurden, wurde ein Objekt dem anderen als Kind hinzugefügt.
Neues Kind an Index einfügen
{
parent = new(`my.module:MyType`);
child1 = new(`my.module:MyType`);
child2 = new(`my.module:MyType`);
child3 = new(`my.module:MyType`);
$parent.add(`my.module:MyType#children`, $child1);
$parent.add(`my.module:MyType#children`, $child3);
$parent.add(`my.module:MyType#children`, 1, $child2);
$parent.get(`my.module:MyType#children`);
}
Ausgabe: Eine Liste mit den Elementen [child1, child2, child3]
Das Objekt child2 wird durch die Angabe des Indizes zwischen child1 und child3 eingefügt.