tuple_replaceT_tuple_replaceTupleReplaceTupleReplace (Operator)

Name

tuple_replaceT_tuple_replaceTupleReplaceTupleReplace — Ersetzen einzelner Elemente aus einem Tupel.

Signatur

tuple_replace( : : Tuple, Index, ReplaceTuple : Replaced)

Herror T_tuple_replace(const Htuple Tuple, const Htuple Index, const Htuple ReplaceTuple, Htuple* Replaced)

void TupleReplace(const HTuple& Tuple, const HTuple& Index, const HTuple& ReplaceTuple, HTuple* Replaced)

HTuple HTuple::TupleReplace(const HTuple& Index, const HTuple& ReplaceTuple) const

static void HOperatorSet.TupleReplace(HTuple tuple, HTuple index, HTuple replaceTuple, out HTuple replaced)

HTuple HTuple.TupleReplace(HTuple index, HTuple replaceTuple)

Beschreibung

tuple_replacetuple_replaceTupleReplaceTupleReplaceTupleReplace ersetzt einzelne Elemente aus einem Tupel TupleTupleTupleTupletuple und gibt das veränderte Tupel mit dem Parameter ReplacedReplacedReplacedReplacedreplaced zurück. Der Parameter IndexIndexIndexIndexindex enthält hierbei die Indizes der Elemente und ReplaceTupleReplaceTupleReplaceTupleReplaceTuplereplaceTuple die entsprechenden Elementwerte, die ersetzt werden. Folglich darf IndexIndexIndexIndexindex ausschließlich ganze Zahlen beinhalten (falls IndexIndexIndexIndexindex eine Gleitkommazahl enthält, so muss diese eine ganze Zahl repräsentieren; alle Nachkommastellen der Zahl müssen also 0 sein). Tupelindizes werden beginnend mit 0 gezählt, das heißt das erste Tupelelement wird über den Index 0 ausgewählt. Falls ReplaceTupleReplaceTupleReplaceTupleReplaceTuplereplaceTuple nur einen Wert enthält, dann wird dieser an allen in IndexIndexIndexIndexindex angegebenen Indizes eingesetzt. Falls ein Indexwert größer als die bisherige Tupellänge ist, so wird das Ergebnistupel ReplacedReplacedReplacedReplacedreplaced entsprechend verlängert und mit Nullen aufgefüllt. Falls zum Beispiel TupleTupleTupleTupletuple [1] enthält, IndexIndexIndexIndexindex die Werte [2,4] enthält und ReplaceTupleReplaceTupleReplaceTupleReplaceTuplereplaceTuple die Werte [3,5] enthält, so ergibt sich ReplacedReplacedReplacedReplacedreplaced gleich [1,0,3,0,5].

Die Eingabetupel TupleTupleTupleTupletuple und ReplaceTupleReplaceTupleReplaceTupleReplaceTuplereplaceTuple dürfen gleichzeitig Strings und Zahlen enthalten.

Sonderfall: Leere Eingabetupel

Ist eines der beiden Tupel IndexIndexIndexIndexindex und ReplaceTupleReplaceTupleReplaceTupleReplaceTuplereplaceTuple leer und das andere nicht, wird eine Fehlermeldung angezeigt. Sind beide leer, entspricht das Ausgabetupel ReplacedReplacedReplacedReplacedreplaced dem Eingabetupel TupleTupleTupleTupletuple. Sind beide nicht leer, aber das Eingabetuple TupleTupleTupleTupletuple ist leer, wird das leere Tupel entsprechend der oben beschriebenen Vorgehensweise erweitert.

HDevelop Inline-Operation

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

Replaced := replace(Tuple, Index, ReplaceTuple)

Ausführungsinformationen

Parameter

TupleTupleTupleTupletuple (input_control)  tuple(-array) HTupleHTupleHtuple (integer / real / string) (int / long / double / string) (Hlong / double / HString) (Hlong / double / char*)

Eingabetupel.

IndexIndexIndexIndexindex (input_control)  integer(-array) HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Indizes der zu ersetzenden Elemente.

ReplaceTupleReplaceTupleReplaceTupleReplaceTuplereplaceTuple (input_control)  tuple(-array) HTupleHTupleHtuple (integer / real / string) (int / long / double / string) (Hlong / double / HString) (Hlong / double / char*)

Tupel mit den einzusetzenden Elementen.

ReplacedReplacedReplacedReplacedreplaced (output_control)  tuple-array HTupleHTupleHtuple (integer / real / string) (int / long / double / string) (Hlong / double / HString) (Hlong / double / char*)

Tupel mit den ersetzten Elementen.

Alternativen

tuple_selecttuple_selectTupleSelectTupleSelectTupleSelect, tuple_first_ntuple_first_nTupleFirstNTupleFirstNTupleFirstN, tuple_last_ntuple_last_nTupleLastNTupleLastNTupleLastN, tuple_select_masktuple_select_maskTupleSelectMaskTupleSelectMaskTupleSelectMask, tuple_str_bit_selecttuple_str_bit_selectTupleStrBitSelectTupleStrBitSelectTupleStrBitSelect, tuple_concattuple_concatTupleConcatTupleConcatTupleConcat, tuple_select_ranktuple_select_rankTupleSelectRankTupleSelectRankTupleSelectRank

Siehe auch

tuple_removetuple_removeTupleRemoveTupleRemoveTupleRemove, tuple_inserttuple_insertTupleInsertTupleInsertTupleInsert

Modul

Foundation