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.