set_dict_tuple_at — Zuweisung eines oder mehrerer Werte an ein oder mehrere Tupelelemente
in einem Dictionary.
set_dict_tuple_at( : : DictHandle, Key, Index, Value : )
set_dict_tuple_at weist einem oder mehreren Tupelelementen eines
in DictHandle unter dem Schlüssel Key gespeicherten
Tupels einen oder mehrere neue Werte zu.
Mit diesem Operator können effizient Teile eines Tupels in einem Dictionary
geändert werden, ohne dass das Tuple zunächst aus dem Dictionary
ausgelesen werden muss.
Falls es in dem Dictionary noch kein Tupel mit dem Schlüssel Key
gibt, oder falls unter diesem Schlüssel ein ikonisches Objekt gespeichert ist,
so wird ein neues Tupel erzeugt und unter dem Schlüssel abgelegt.
In letzterem Fall wird das existierende ikonische Objekt aus dem Dictionary
entfernt.
Werden Indizes übergeben, die außerhalb der aktuellen Größe des im Dictionary gespeicherten Tupels liegen, wird das Tupel entsprechend vergrößert und die nicht gesetzten Werte werden mit einem Defaultwert initialisiert.
Key ist ein String oder eine ganze Zahl (integer).
Bei Strings muss die Groß-/Kleinschreibung beachtet.
Als Index Parameter ist jeder Ausdruck erlaubt, der eine beliebige
Anzahl von positiven Integerwerten ergibt.
Als Value Parameter muss entweder genau ein Wert übergeben werden,
oder es müssen genauso viele Werte wie Indizes übergeben werden.
Die Tupeldaten für den übergebenen Schlüssel können mit Hilfe
des Operators get_dict_tuple aus dem Dictionary
wieder ausgelesen werden.
Falls Value Handles enthält, werden nur die Handle-Werte
kopiert.
Von Handles, die in dem Tupel enthalten sind, wird keine tiefe Kopie
erzeugt.
Dieser Operator modifiziert den Zustand des folgenden Eingabeparameters:
Während der Ausführung dieses Operators muss der Zugriff auf den Wert dieses Parameters synchronisiert werden, wenn er über mehrere Threads hinweg verwendet wird.
DictHandle (input_control, Zustand wird modifiziert) dict → (handle)
Handle des Dictionaries.
Parameteranzahl: DictHandle == 1
Key (input_control) string → (string / integer)
Schlüssel.
Parameteranzahl: Key == 1
Restriktion: length(Key) > 0
Index (input_control) integer-array → (integer)
Indizes der Tupelelemente, die durch die übergebenen Werte ersetzt werden sollen.
Defaultwert: 0
Wertevorschläge: 0, 1, 2, 3, 4, 5, 6
Minimale Schrittweite: 1
Value (input_control) tuple-array → (string / integer / real / handle)
Werte, die im Tupel gesetzt werden sollen.
Dict := dict{}
Dict.some_key := 27
set_dict_tuple_at (Dict, 'some_key', 1, 5)
* Dict.some_key is now [27, 5]
* Alternative TRIAS syntax
Dict.some_key[0] := 66
* Dict.some_key is now [66, 5]
Im Erfolgsfall gibt set_dict_tuple_at den Wert 2 (H_MSG_TRUE) zurück.
Andernfalls wird eine Fehlerbehandlung durchgeführt. Mögliche Fehler
sind ungültige Parameter oder ein Allokierungsfehler.
set_dict_tuple,
get_dict_tuple
create_dict,
set_dict_tuple,
get_dict_tuple,
set_dict_object,
get_dict_object,
get_dict_param,
remove_dict_key
Foundation