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

tuple_sem_type( : : T : SemType)

Herror T_tuple_sem_type(const Htuple T, Htuple* SemType)

void TupleSemType(const HTuple& T, HTuple* SemType)

HTuple HTuple::TupleSemType() const

HString HHandle::TupleSemType() const

static void HOperatorSet.TupleSemType(HTuple t, out HTuple semType)

HTuple HTuple.TupleSemType()

string HHandle.TupleSemType()

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

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