Luau è il linguaggio di scripting utilizzato dai creatori in Roblox Studio. È un linguaggio di scripting incorporabile veloce, piccolo, sicuro e tipizzato gradualmente, derivato da Lua 5.1.
Supporto in Studio
Il Script Editor in Studio supporta Luau con completamento automatico, evidenziazione della sintassi, linting statico, controllo dei tipi e analisi degli script. Mostra anche documentazione e firme delle funzioni per i membri dell'API di Roblox Engine.
Tipi
Luau include i seguenti tipi di dati:
- Nil rappresenta la non esistenza o il nulla. È diverso da qualsiasi altro valore o tipo di dato.
- Numbers, o double, rappresentano numeri in virgola mobile a doppia precisione (64 bit).
- Strings sono sequenze di caratteri, come lettere, numeri e simboli.
- Enums sono elenchi fissi di elementi.
Luau è tipizzato dinamicamente per impostazione predefinita. Le variabili, i parametri delle funzioni e i valori di ritorno possono essere di qualsiasi tipo di dato. Questo ti aiuta a scrivere codice più velocemente perché non è necessario fornire tipi per ogni pezzo di dato. Puoi comunque dichiarare tipi espliciti per le variabili in Luau e abilitare il controllo rigoroso dei tipi per rendere evidenti e facili da individuare i problemi di tipo.
Strutture dati
Puoi anche implementare le seguenti strutture dati utilizzando tipi di dato primitivi:
- Stacks sono collezioni di elementi Last-In-First-Out che puoi implementare utilizzando tabelle.
- Queues sono collezioni di elementi First-In-First-Out che puoi implementare utilizzando tabelle.
- Metatables sono tabelle con configurazioni avanzate che possono raggiungere funzionalità come memorizzare coppie di chiavi e valori e calcolare operazioni aritmetiche.
Funzionalità
In Luau, variabili e funzioni possono avere scoperta globale e locale all'interno di uno script. Luau ha operatori logici, relazionali e di assegnazione complessa. Puoi utilizzare strutture di controllo e funzioni per controllare quando Luau esegue il codice. Molti operatori e assegnazioni di variabili eseguono coercizione di tipo per modificare i valori nei tipi che Luau si aspetta.