set_dict_tupleT_set_dict_tupleSetDictTupleSetDictTupleset_dict_tuple (Operator)

Name

set_dict_tupleT_set_dict_tupleSetDictTupleSetDictTupleset_dict_tuple — Hinzufügen eines Schlüssel-Tupeldaten-Paares zu einem Dictionary.

Signatur

set_dict_tuple( : : DictHandle, Key, Tuple : )

Herror T_set_dict_tuple(const Htuple DictHandle, const Htuple Key, const Htuple Tuple)

void SetDictTuple(const HTuple& DictHandle, const HTuple& Key, const HTuple& Tuple)

void HDict::SetDictTuple(const HTuple& Key, const HTuple& Tuple) const

void HDict::SetDictTuple(const HString& Key, const HTuple& Tuple) const

void HDict::SetDictTuple(const char* Key, const HTuple& Tuple) const

void HDict::SetDictTuple(const wchar_t* Key, const HTuple& Tuple) const   ( Nur Windows)

static void HOperatorSet.SetDictTuple(HTuple dictHandle, HTuple key, HTuple tuple)

void HDict.SetDictTuple(HTuple key, HTuple tuple)

void HDict.SetDictTuple(string key, HTuple tuple)

def set_dict_tuple(dict_handle: HHandle, key: MaybeSequence[Union[str, int]], tuple: Sequence[HTupleElementType]) -> None

Beschreibung

set_dict_tupleset_dict_tupleSetDictTupleSetDictTupleset_dict_tuple speichert in dem Dictionary DictHandleDictHandleDictHandledictHandledict_handle ähnlich zu einem assoziativem Array ein Datentupel in Verbindung mit einem Schlüssel ab.

TupleTupleTupletupletuple wird in das Dictionary kopiert und kann anschließend weiterverwendet oder gelöscht werden. Ein leeres Tupel ist ebenfalls ein gültiger Wert, der mit einem Schlüssel referenziert werden kann. Falls bereits Daten (Tupel oder Objekt) durch den gegebenen Schlüssel referenziert werden, werden die alten Daten freigegeben und durch TupleTupleTupletupletuple ersetzt.

KeyKeyKeykeykey ist ein String oder eine ganze Zahl (integer). Bei Strings muss die Groß-/Kleinschreibung beachtet.

Die Tupeldaten für den übergebenen Schlüssel können mit Hilfe des Operators get_dict_tupleget_dict_tupleGetDictTupleGetDictTupleget_dict_tuple aus dem Dictionary wieder ausgelesen werden.

set_dict_tupleset_dict_tupleSetDictTupleSetDictTupleset_dict_tuple kann den referenzierten Wert mehrerer Schlüssel gleichzeitig ändern. In diesem Fall muss die Länge von TupleTupleTupletupletuple entweder gleich der Anzahl der Schlüssel oder 1 sein. Im ersten Fall wird jeweils ein Wert aus TupleTupleTupletupletuple einem Schlüssel aus KeyKeyKeykeykey zugewiesen. Im zweiten Fall, wenn TupleTupleTupletupletuple die Länge 1 hat, wird dieser eine Wert mit allen Schlüsseln assoziiert. Falls keine Schlüssel übergeben werden, werden die Werte in TupleTupleTupletupletuple ignoriert. Die folgende Tabelle gibt einen Überblick über die möglichen Kombinationen der Anzahl an Schlüsseln und Werten, wobei N eine beliebige nicht-negative ganze Zahl ist.

Länge von KeyKeyKeykeykey Länge von TupleTupleTupletupletuple Effekt
N 1 Wert in TupleTupleTupletupletuple wird mit allen Schlüsseln assoziiert
1 N TupleTupleTupletupletuple wird mit KeyKeyKeykeykey assoziiert
N N Tupel der Länge 1 werden mit allen Schlüsseln assoziiert

HDevelop Inline-Operation

HDevelop unterstützt eine Inline-Operation für set_dict_tupleset_dict_tupleSetDictTupleSetDictTupleset_dict_tuple, die innerhalb eines Ausdrucks in der folgenden Syntax verwendet werden kann:

Achtung

Falls TupleTupleTupletupletuple Handles enthält, werden nur die Handle-Werte kopiert. Von Handles, die in dem Tupel enthalten sind, wird keine "tiefe Kopie" erzeugt.

Ausführungsinformationen

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.

Parameter

DictHandleDictHandleDictHandledictHandledict_handle (input_control, Zustand wird modifiziert)  dict HDict, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Handle des Dictionaries.

Parameteranzahl: DictHandle == 1

KeyKeyKeykeykey (input_control)  string(-array) HTupleMaybeSequence[Union[str, int]]HTupleHtuple (string / integer) (string / int / long) (HString / Hlong) (char* / Hlong)

Schlüssel.

TupleTupleTupletupletuple (input_control)  tuple-array HTupleSequence[HTupleElementType]HTupleHtuple (string / integer / real / handle) (string / int / long / double / HHandle) (HString / Hlong / double / HHandle) (char* / Hlong / double / handle)

Vom Schlüssel zu referenzierende Tupeldaten.

Beispiel (HDevelop)

create_dict (Dict)
set_dict_tuple (Dict, 'simple_integer', 27)
set_dict_tuple (Dict, 'simple_string', 'Hello world')
set_dict_tuple (Dict, 'mixed_tuple', ['The answer', 42])
set_dict_tuple (Dict, 0, 'This is zero')

Ergebnis

Im Erfolgsfall gibt set_dict_tupleset_dict_tupleSetDictTupleSetDictTupleset_dict_tuple den Wert 2 ( H_MSG_TRUE) zurück. Andernfalls wird eine Fehlerbehandlung durchgeführt. Mögliche Fehler sind ungültige Parameter (Dictionary oder Schlüssel) oder ein Allokierungsfehler.

Vorgänger

create_dictcreate_dictCreateDictCreateDictcreate_dict

Nachfolger

set_dict_tupleset_dict_tupleSetDictTupleSetDictTupleset_dict_tuple, set_dict_objectset_dict_objectSetDictObjectSetDictObjectset_dict_object

Alternativen

set_dict_objectset_dict_objectSetDictObjectSetDictObjectset_dict_object, set_dict_tuple_atset_dict_tuple_atSetDictTupleAtSetDictTupleAtset_dict_tuple_at

Siehe auch

create_dictcreate_dictCreateDictCreateDictcreate_dict, set_dict_tuple_atset_dict_tuple_atSetDictTupleAtSetDictTupleAtset_dict_tuple_at, get_dict_tupleget_dict_tupleGetDictTupleGetDictTupleget_dict_tuple, set_dict_objectset_dict_objectSetDictObjectSetDictObjectset_dict_object, get_dict_objectget_dict_objectGetDictObjectGetDictObjectget_dict_object, get_dict_paramget_dict_paramGetDictParamGetDictParamget_dict_param, remove_dict_keyremove_dict_keyRemoveDictKeyRemoveDictKeyremove_dict_key

Modul

Foundation