Una variabile è un nome che contiene un valore. I valori delle variabili possono essere numeri, stringhe, booleani, tipi di dati e altro ancora.
Nominare le variabili
I nomi delle variabili possono essere qualsiasi stringa non riservata di lettere, cifre e underscore che non inizia con una cifra.
LETTERE -- valido
a1 -- valido
var_nome -- valido
_test -- valido
if -- NON valido
25th -- NON validoI nomi delle variabili sono case-sensitive, quindi TestVar e TESTVAR sono nomi diversi. Evita di nominare le variabili con un underscore e tutte le lettere maiuscole, come _VERSION, perché Luau potrebbe riservarli per variabili globali interne.
Migliori pratiche
È buona pratica scrivere le parole per intero. Le abbreviazioni generalmente rendono il codice più facile da scrivere, ma più difficile da leggere. Seguire pratiche di denominazione comuni quando si nominano le variabili può aiutare te e gli altri a capire il loro significato o scopo:
- Usa nomi in PascalCase per oggetti simili a classi ed enum.
- Usa nomi in PascalCase per tutte le API di Roblox. Le API in camelCase sono per lo più deprecate.
- Usa nomi in camelCase per variabili locali, valori membri e funzioni.
- Non capitalizzare interi acronimi all'interno dei nomi. Ad esempio, scrivi aJsonVariable o MakeHttpCall.
Nomi riservati
Luau riserva le seguenti parole chiave, quindi non puoi usarle per nominare variabili o funzioni:
- and
- for
- or
- break
- function
- repeat
- do
- if
- return
- else
- in
- then
- elseif
- local
- true
- end
- nil
- until
- false
- not
- while
Assegnare valori
Per creare una variabile e assegnarle un valore, usa l'operatore =. Metti la variabile a sinistra del = e il valore a destra. Se non metti un valore, il valore è nil.
Le variabili possono avere scopi globali o locali scopi. Hanno uno scopo globale per impostazione predefinita, ma è quasi sempre meglio crearle con uno scopo locale perché Luau accede alle variabili locali più velocemente di quelle globali. Per dare a una variabile uno scopo locale, metti la parola chiave local prima del nome di una variabile quando le assegni un valore. Per darle uno scopo locale e anche impedire la sua riassegnazione, usa const invece di local. Per ulteriori informazioni, vedere Scopo.
local nilVar
local x = 10
local word = "Ciao"
local boolean = true
print(nilVar) -- nil
print(x) -- 10
print(word) -- Ciao
print(boolean) -- trueAssegnare valori a più variabili
Puoi assegnare valori a più variabili in una sola riga separando ogni coppia variabile-valore con una virgola. Se hai più variabili che valori, Luau assegna nil alle variabili extra. Se hai più valori che variabili, Luau non assegna i valori extra a nessuna variabile.
local a, b, c = 1, 2, 3
local d, e, f = 4, 5 -- variabile extra
local g, h = 7, 8, 9 -- valore extra
print(a, b, c) -- 1, 2, 3
print(d, e, f) -- 4, 5, nil
print(g, h) -- 7, 8Cambiare valori
Per cambiare un valore di una variabile, assegna un altro valore ad essa.
local x, y = 10, 20
print(x) -- 10
print(y) -- 20
x = 1000
y = 2000
print(x) -- 1000
print(y) -- 2000Variabili const
Per creare una variabile che non puoi riassegnare, usa const invece di local. Tentare di riassegnare una variabile const causa un errore, anche attraverso un operatore di assegnazione composta come +=.
const MAX_HEALTH = 100
MAX_HEALTH = 50 -- errore: non è possibile riassegnare una variabile const
MAX_HEALTH += 1 -- errore: non è possibile riassegnare una variabile constCome local, const accetta un annotazione di tipo, come const MAX_HEALTH: number = 100.
Puoi anche dichiarare una funzione con const, il che impedisce di riassegnare il nome della funzione.
const function addOneAndTwo()
local result = 1 + 2
print(result)
end
addOneAndTwo = nil -- errore: non è possibile riassegnare una variabile constconst rende la variabile stessa immutabile, non il valore che contiene. Se una variabile const contiene un table, puoi comunque cambiare i contenuti del table. Per rendere i contenuti immutabili, usa table.freeze().
const SETTINGS = { volume = 0 }
SETTINGS.volume = 1 -- ok, cambia un valore all'interno del table
SETTINGS = {} -- errore: non è possibile riassegnare una variabile constA differenza delle parole chiave in Nomi riservati, const è contestuale. Luau lo tratta come una parola chiave solo dove local è valido, quindi il codice esistente che usa const come nome di variabile continua a funzionare.
local const = 1
print(const) -- 1
const = 2 -- ok, `const` è un nome di variabile quiPer ulteriori informazioni e casi limite, vedere la documentazione di Luau.