Attributwert entfernen
Syntax
$object.remove(`$attr`, $value)
Beschreibung
Entfernt einen Wert value aus einem mengenwertigen Attribut attr des Objekts object.
Parameter
| Name | Typ | Beschreibung | Pflicht | Default |
|---|---|---|---|---|
| object | Fachobjekt |
Das Objekt, aus dem ein Wert aus einem Attribut entfernt werden soll. |
ja | |
| attr | Zeichenkette |
Das Attribut-Literal des Attributs, aus dem ein Wert entfernt werden soll. |
ja | |
| value | Zahl/Zeichenkette/Wahrheitswert/Fachobjekt/Menge |
Der Wert oder die Menge von Werten, die aus dem Attribut des Objekts entfernt werden sollen. Wenn eine Menge angegeben wird, werden alle enthaltenen Werte entfernt. |
ja |
Beispiele
Einzelnen Wert entfernen
{
obj = new(`my.module:MyType`);
$obj.add(`my.module:MyType#items`, 'item1');
$obj.add(`my.module:MyType#items`, 'item2');
$obj.add(`my.module:MyType#items`, 'item3');
$obj.remove(`my.module:MyType#items`, 'item2');
$obj.get(`my.module:MyType#items`);
}
Ausgabe: Eine Liste mit den Elementen ['item1', 'item3'].
Nachdem ein Objekt mit drei Werten erstellt wurde, wurde der Wert 'item2' aus der Liste entfernt.
Mehrere Werte gleichzeitig entfernen
{
obj = new(`my.module:MyType`);
$obj.add(`my.module:MyType#tags`, 'important');
$obj.add(`my.module:MyType#tags`, 'urgent');
$obj.add(`my.module:MyType#tags`, 'review');
$obj.add(`my.module:MyType#tags`, 'pending');
$obj.remove(`my.module:MyType#tags`, ['urgent', 'pending']);
$obj.get(`my.module:MyType#tags`);
}
Ausgabe: Eine Liste mit den Elementen ['important', 'review'].
Die Werte 'urgent' und 'pending' wurden gleichzeitig aus der Liste entfernt.
Nicht existierenden Wert entfernen
{
obj = new(`my.module:MyType`);
$obj.add(`my.module:MyType#items`, 'item1');
$obj.add(`my.module:MyType#items`, 'item2');
$obj.remove(`my.module:MyType#items`, 'nonexistent');
$obj.get(`my.module:MyType#items`);
}
Ausgabe: Eine Liste mit den Elementen ['item1', 'item2'].
Der Versuch, einen nicht existierenden Wert zu entfernen, ändert die Liste nicht und erzeugt keinen Fehler.