TypeOf
La funzione TypeOf() ritorna un valore intero che rappresenta, conformemente all'enumerazione presente nel file sorgente di Gambas User.Home &/ "gambasdevel/main/share/gb_type_common.h", il tipo di dato, al quale appartiene una variabile. [nota1]
La sua sintassi è:
TypeOf(variabile) As Integer
Specificare il tipo di dato
Dal valore numerico, che rappresenta il tipo di dato, possiamo ottenere la sua specificazione letterale almeno mediante i seguenti due esempi:
Public Sub Main() Dim tipi As String[] = ["Void", "Boolean", "Byte", "Short", "Integer", "Long", "Single", "Float", "Date", "String", Null, "Pointer", "Variant", "Array o Function", "Class o Structure", "Null", "Object"] Dim i As Integer Print "Il tipo di dato è: "; tipi[TypeOf(i)] End
oppure andando a verificare il tipo di dato direttamente nella seconda enumerazione dei tipi di dati contenuta nel file "gb_type_common.h" dei sorgenti di Gambas: [nota2]
Public Sub Main() Dim s As String = File.Load(User.Home &/ "gambasdevel/main/share/gb_type_common.h") Dim c As Short Dim tipo As Integer ' Imposta un tipo di dato c = InStr(s, "VOID") - 1 Do Repeat Inc c Until s[c, 1] = "=" If Val(s[c + 2, 2]) == TypeOf(tipo) Then c -= 13 Print s[c, 8] Break Endif Loop End
Si può utilizzare con le opportune modifiche anche la definizione degli identificatori numerici dei tipi di dati (Gambas datatypes identifiers) presente nel file sorgente di Gambas User.Home &/ "gambasdevel/main/share/gambas.h".
Note
[1] Vedere anche il seguente riferimento: https://gambaswiki.org/wiki/lang/typeof?l=it
[2] Vedere anche la seguente pagina della Wiki: Conoscere in runtime il numero identificatore di un tipo di dato di una variabile presente nel codice