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

index = object.get(`$attr`).size()

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.