tuple_sem_typeT_tuple_sem_typeTupleSemTypeTupleSemTypetuple_sem_type (Operator)
Name
tuple_sem_typeT_tuple_sem_typeTupleSemTypeTupleSemTypetuple_sem_type
— Return the semantic type of a tuple.
Signature
Herror T_tuple_sem_type(const Htuple T, Htuple* SemType)
def tuple_sem_type(t: HTupleType) -> str
Description
tuple_sem_typetuple_sem_typeTupleSemTypeTupleSemTypetuple_sem_type
returns the semantic type of the input tuple
TTTtt
.
The type is returned as a string value in the output parameter
SemTypeSemTypeSemTypesemTypesem_type
.
If TTTtt
contains only valid handles of the same type, the
corresponding semantic type of the handles is returned (e.g.,
'matrix'"matrix""matrix""matrix""matrix").
If it contains only valid or invalid handles,
or handles of different type, 'handle'"handle""handle""handle""handle" is returned.
If TTTtt
contains elements of different types, 'any'"any""any""any""any" is
returned.
Exception: Empty input tuple
If the input tuple is empty, the operator returns 'any'"any""any""any""any".
HDevelop In-line Operation
HDevelop provides an in-line operation for tuple_sem_typetuple_sem_typeTupleSemTypeTupleSemTypetuple_sem_type
,
which can be used in an expression in the following syntax:
SemType := sem_type(T)
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
TTTtt
(input_control) tuple(-array) →
HTupleHTupleTypeHTupleHtuple (handle / real / integer / string) (HHandle / double / int / long / string) (HHandle / double / Hlong / HString) (handle / double / Hlong / char*)
Input tuple.
SemTypeSemTypeSemTypesemTypesem_type
(output_control) string →
HTuplestrHTupleHtuple (string) (string) (HString) (char*)
Semantic type of the input tuple as a string.
Example (HDevelop)
create_matrix (3, 3, 0, MatrixID)
tuple_sem_type (MatrixID, SemType)
* SemType == 'matrix' (Handle of specific type)
clear_handle (MatrixID)
tuple_sem_type (MatrixID, SemType)
* SemType == 'handle' (Cleared handle)
tuple_sem_type ([MatrixID,123], SemType)
* SemType == 'any' (Mixed types)
Result
If the parameters are valid, the operator
tuple_sem_typetuple_sem_typeTupleSemTypeTupleSemTypetuple_sem_type
returns the value 2 (
H_MSG_TRUE)
.
Alternatives
tuple_is_inttuple_is_intTupleIsIntTupleIsInttuple_is_int
,
tuple_is_numbertuple_is_numberTupleIsNumberTupleIsNumbertuple_is_number
,
tuple_is_realtuple_is_realTupleIsRealTupleIsRealtuple_is_real
,
tuple_is_stringtuple_is_stringTupleIsStringTupleIsStringtuple_is_string
,
tuple_typetuple_typeTupleTypeTupleTypetuple_type
See also
get_obj_classget_obj_classGetObjClassGetObjClassget_obj_class
Module
Foundation