Lua - Tipi di dati
Lua è un linguaggio tipizzato dinamicamente, quindi le variabili non hanno tipi, solo i valori hanno tipi. I valori possono essere memorizzati in variabili, passati come parametri e restituiti come risultati.
In Lua, sebbene non abbiamo tipi di dati variabili, ma abbiamo tipi per i valori. Di seguito viene fornito l'elenco dei tipi di dati per i valori.
Suor n | Tipo di valore e descrizione |
---|---|
1 | nil Utilizzato per differenziare il valore dall'avere alcuni dati o nessun dato (zero). |
2 | boolean Include vero e falso come valori. Generalmente utilizzato per il controllo delle condizioni. |
3 | number Rappresenta i numeri reali (virgola mobile a doppia precisione). |
4 | string Rappresenta un array di caratteri. |
5 | function Rappresenta un metodo scritto in C o Lua. |
6 | userdata Rappresenta dati C arbitrari. |
7 | thread Rappresenta thread di esecuzione indipendenti e viene utilizzato per implementare le coroutine. |
8 | table Rappresenta array ordinari, tabelle di simboli, set, record, grafici, alberi, ecc. E implementa array associativi. Può contenere qualsiasi valore (eccetto zero). |
Tipo di funzione
In Lua, c'è una funzione chiamata 'tipo' che ci permette di conoscere il tipo di variabile. Alcuni esempi sono forniti nel codice seguente.
print(type("What is my type")) --> string
t = 10
print(type(5.8*t)) --> number
print(type(true)) --> boolean
print(type(print)) --> function
print(type(nil)) --> nil
print(type(type(ABC))) --> string
Quando crei ed esegui il programma sopra, produce il seguente risultato su Linux:
string
number
boolean
function
nil
string
Per impostazione predefinita, tutte le variabili punteranno a zero fino a quando non viene assegnato un valore o inizializzate. In Lua, le stringhe zero e vuote sono considerate vere in caso di verifica delle condizioni. Quindi, devi stare attento quando usi le operazioni booleane. Ne sapremo di più usando questi tipi nei prossimi capitoli.