tuple_str_bit_selecttuple_str_bit_selectTupleStrBitSelectTupleStrBitSelect (Operator)
Name
tuple_str_bit_selecttuple_str_bit_selectTupleStrBitSelectTupleStrBitSelect
— Select single character or bit from a tuple.
Signature
Description
tuple_str_bit_selecttuple_str_bit_selectTupleStrBitSelectTupleStrBitSelectTupleStrBitSelect
selects a single character or bit from
a tuple TupleTupleTupleTupletuple
of integer numbers and/or strings.
The input parameter IndexIndexIndexIndexindex
determines the character or bit
position to select. IndexIndexIndexIndexindex
must contain a single number. If
IndexIndexIndexIndexindex
contains a floating point number, this may only
represent an integer value (without fraction). The result tuple
SelectedSelectedSelectedSelectedselected
contains a new element for each element of
TupleTupleTupleTupletuple
. Let IndexIndexIndexIndexindex
contain the number “n” then each
element of SelectedSelectedSelectedSelectedselected
consists of the “n-th” character
(for strings) or “n-th” bit (for integers) of the corresponding
element of TupleTupleTupleTupletuple
.
If TupleTupleTupleTupletuple
is empty, an exception is raised.
Unicode code points versus bytes
The index reference Unicode code points. One Unicode code point may be
composed of multiple bytes in the UTF-8 string. If the index should
reference the raw bytes of the string, this operator can be switched to byte
mode with set_system('tsp_tuple_string_operator_mode', 'byte')set_system("tsp_tuple_string_operator_mode", "byte")SetSystem("tsp_tuple_string_operator_mode", "byte")SetSystem("tsp_tuple_string_operator_mode", "byte")SetSystem("tsp_tuple_string_operator_mode", "byte")
. If
'filename_encoding'"filename_encoding""filename_encoding""filename_encoding""filename_encoding" is set to 'locale'"locale""locale""locale""locale" (legacy), this
operator always uses the byte mode.
For general information about string operations see
Tuple / String Operations.
HDevelop In-line Operation
HDevelop provides an in-line operation for tuple_str_bit_selecttuple_str_bit_selectTupleStrBitSelectTupleStrBitSelectTupleStrBitSelect
,
which can be used in an expression in the following syntax:
Selected := Tuple{Index
}
Execution Information
- Multithreading type: independent (runs in parallel even with exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Processed without parallelization.
Parameters
TupleTupleTupleTupletuple
(input_control) tuple(-array) →
HTupleHTupleHtuple (string / integer) (string / int / long) (HString / Hlong) (char* / Hlong)
Input tuple.
IndexIndexIndexIndexindex
(input_control) integer →
HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Position of character or bit to select.
SelectedSelectedSelectedSelectedselected
(output_control) tuple(-array) →
HTupleHTupleHtuple (string / integer) (string / int / long) (HString / Hlong) (char* / Hlong)
Tuple containing the selected characters and bits.
Alternatives
tuple_selecttuple_selectTupleSelectTupleSelectTupleSelect
,
tuple_first_ntuple_first_nTupleFirstNTupleFirstNTupleFirstN
,
tuple_last_ntuple_last_nTupleLastNTupleLastNTupleLastN
,
tuple_concattuple_concatTupleConcatTupleConcatTupleConcat
,
tuple_strchrtuple_strchrTupleStrchrTupleStrchrTupleStrchr
,
tuple_strrchrtuple_strrchrTupleStrrchrTupleStrrchrTupleStrrchr
,
tuple_str_first_ntuple_str_first_nTupleStrFirstNTupleStrFirstNTupleStrFirstN
,
tuple_str_last_ntuple_str_last_nTupleStrLastNTupleStrLastNTupleStrLastN
,
tuple_substrtuple_substrTupleSubstrTupleSubstrTupleSubstr
,
tuple_andtuple_andTupleAndTupleAndTupleAnd
,
tuple_ortuple_orTupleOrTupleOrTupleOr
,
tuple_xortuple_xorTupleXorTupleXorTupleXor
,
tuple_nottuple_notTupleNotTupleNotTupleNot
See also
tuple_removetuple_removeTupleRemoveTupleRemoveTupleRemove
Module
Foundation