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)))
Elemente des Attributs, die der Benutzer nicht entdecken darf, bleiben erhalten. Der index bezieht sich auf die Liste, die der Benutzer sieht (ohne die Elemente, die er nicht entdecken darf). Die hinzugefügten Werte müssen Objekte sein, die der Benutzer entdecken darf.
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.