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.