tuple_replace
— Ersetzen einzelner Elemente aus einem Tupel.
tuple_replace( : : Tuple, Index, ReplaceTuple : Replaced)
tuple_replace
ersetzt einzelne Elemente aus einem Tupel
Tuple
und gibt das veränderte Tupel mit dem Parameter
Replaced
zurück. Der Parameter Index
enthält hierbei
die Indizes der Elemente und ReplaceTuple
die entsprechenden
Elementwerte, die ersetzt werden.
Folglich darf Index
ausschließlich ganze Zahlen
beinhalten (falls Index
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 ReplaceTuple
nur einen Wert enthält, dann wird dieser an
allen in Index
angegebenen Indizes eingesetzt. Falls ein Indexwert
größer als die bisherige Tupellänge ist, so wird das Ergebnistupel
Replaced
entsprechend verlängert und mit Nullen
aufgefüllt. Falls zum Beispiel Tuple
[1] enthält,
Index
die Werte [2,4] enthält und ReplaceTuple
die Werte
[3,5] enthält, so ergibt sich Replaced
gleich [1,0,3,0,5].
Die Eingabetupel Tuple
und ReplaceTuple
dürfen
gleichzeitig Strings und Zahlen enthalten.
Ist eines der beiden Tupel Index
und ReplaceTuple
leer
und das andere nicht, wird eine Fehlermeldung angezeigt. Sind beide leer,
entspricht das Ausgabetupel Replaced
dem Eingabetupel
Tuple
. Sind beide nicht leer, aber das Eingabetuple Tuple
ist leer, wird das leere Tupel entsprechend der oben beschriebenen
Vorgehensweise erweitert.
HDevelop unterstützt eine Inline-Operation für tuple_replace
,
die innerhalb eines Ausdrucks in der folgenden Syntax verwendet werden
kann:
Replaced := replace(Tuple, Index, ReplaceTuple)
Tuple
(input_control) tuple(-array) →
(integer / real / string)
Eingabetupel.
Index
(input_control) integer(-array) →
(integer)
Indizes der zu ersetzenden Elemente.
ReplaceTuple
(input_control) tuple(-array) →
(integer / real / string)
Tupel mit den einzusetzenden Elementen.
Replaced
(output_control) tuple-array →
(integer / real / string)
Tupel mit den ersetzten Elementen.
tuple_select
,
tuple_first_n
,
tuple_last_n
,
tuple_select_mask
,
tuple_str_bit_select
,
tuple_concat
,
tuple_select_rank
Foundation