Lua Globals
*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.
Il seguente è un elenco di funzioni e variabili che sono nativi di Lua. Questi funzioni possono essere utilizzati in un'installazione standard di Lua 5.1.4 , anche se ci sono alcune differenze su come alcune di queste funzionalità funzionano su Roblox.
Sommario
Funzioni
Lancia un errore se il valore fornito value risolve in false o nil .
Interrompe l'esecuzione del thread e mostra un errore.
Restituisce il totale della dimensione della memoria in kilobytes.
Restituisce la mettabilità della tabella fornita.
Restituisce una funzione innovatore e la tabella per l'uso in un for loop.
Restituisce il codice fornito come funzione che può essere eseguita.
Crea un'opzione vuota userdata , con l'opzione per avere una mettabile.
Una funzione innovatore per l'uso in forti.
Restituisce una funzione innovatore e la tabella fornita per l'uso in un for loop.
Esegue la funzione fornita e cattura qualsiasi errore che lancia, rendendo il successo della funzione e i suoi risultati.
Stampa tutti i valori forniti all'Output.
Restituisce se v1 è uguale a v2 , bypassando i loro metodi di metametodo.
Ottiene il valore reale di table[index] , bypassando tutti i metodi metodi.
Restituisce la lunghezza della stringa o della tabella, bypassando tutti i metodi metodi.
Imposta il valore reale di table[index] , bypassando tutti i metodi metodi.
Restituisce il valore che è stato restituito dal ModuleScript specificato, facendolo eseguire se non è ancora stato eseguito.
Restituisce tutti gli argomenti dopo l'indice specificato.
Imposta il metitable della tabella specificata.
Restituisce il valore fornito convertito in un numero, o zero se impossibile.
Restituisce il valore fornito convertito in una Stringa, o null se impossibile.
Restituisce il tipo di base dell'oggetto fornito.
Restituisce tutti gli elementi dalla lista fornita come un tupla.
Simile a pcall() ad eccezione che utilizza un gestore di errori personalizzato.
Funzioni
assert
Lancia un errore se il value fornito è false o nil. Se l'affermazione passa, restituisce tutti i valori passati.
local product = 90 * 4assert(product == 360, "Oh dear, multiplication is broken")-- The line above does nothing, because 90 times 4 is 360
Parametri
Il valore che verrà affermato contro.
Il testo che verrà mostrato nell'errore se l'affermazione fallisce.
Restituzioni
error
Termina l'ultima funzione protetta chiamata e produce message come messaggio di Messaggio. Se la funzione contenente l'errore non viene chiamata in una funzione protetta come pcall() , allora lo script che ha chiamato la funzione terminerà. La funzione di errore stessa non restituisce e agisce come un errore di script.
L'argomento level specifica come ottenere la posizione di errore. Con il livello 1 (il livello predefinito), la posizione di errore è dove è stata chiamata la funzione errore. Il livello 2 indica la posizione di errore all'interno del messaggio. Passando un livello 0 evita l'aggiunta di informazioni sulla posizione di errore al Messaggio.
Parametri
Restituzioni
getmetatable
Restituisce il mettabile della tabella specificata t se ne ha uno, altrimenti restituisce nulla. Se t ha un mettabile, e il metodo __metatable è Impostare, restituisce quel valore invece.
-- Mostra getmetatable:local meta = {}local t = setmetatable({}, meta)print(getmetatable(t) == meta) --> vero-- Rendi il metablo originale non recuperabile impostando il metodo metablo:meta.__metatable = "protected"print(getmetatable(t)) --> protected
Parametri
L'oggetto per ottenere il metatable.
Restituzioni
ipairs
Restituisce tre valori: una funzione itérator, la tabella t e il numero 0 . Ogni volta che viene chiamata la funzione itérator, restituisce il prossimo valore numerico-valore paio nella tabella. Quando viene utilizzata in un generico for-loop, i valori di restituzione possono essere utilizzati per itérare su ogni valore numerico nella tabella:
local fruits = {"apples", "oranges", "kiwi"}for index, fruit in ipairs(fruits) doprint(index, fruit) --> 1 mele, 2 arance, 3 kiwi, ecc.end
Parametri
Una tabella il cui elemento è da ripetere.
loadstring
Carica il codice Lua da una stringa e lo restituisce come funzione.
A differenza della versione Lua standard 5.1, la Lua di Roblox non può caricare la versione binaria di Lua utilizzando loadstring() .
loadstring() è disabilitato per impostazione predefinita. Per ottenere istruzioni su come abilitarla, vedi ServerScriptService .
AVVERTIMENTO: Questo metodo disabilita alcune ottimizzazioni Luau sul valore restituito. La estrema cautela dovrebbe essere presa quando si utilizzano loadstring() ; se la tua intenzione è consentire agli utenti di eseguire il codice nella tua esperienza, assicurati di proteggere
Parametri
Restituzioni
next
Restituisce la prima coppia chiave/valore nell' vettore. Se un argomento lastKey è stato specificato allora restituisce l' elemento successivo nell' array in base alla chiave fornita. L'ordine in cui gli indici sono elencati non è specificato, anche per gli indici numerici. Per attraversare una tabella nell' ordine in cui gli indici sono elencati, usa un numero per loop o ipairs .
Il comportamento del prossimo è non definito se, durante il percorso, assegnate qualsiasi valore a un campo non esistente nella tabella. Potresti, tuttavia, modificare i campi esistenti. In particolare, potresti cancellare i campi esistenti.
Parametri
L' array da attraversare.
L'ultima chiave che è stata precedentemente recuperata da un chiamata a next.
Restituzioni
pairs
Restituisce una funzione innovatore, la tabella passata t , e nil , in modo che la costruzione itere in tutti i paari di chiave / valore di quella tabella quando usato in un generico for loop:
local scores = {["John"] = 5,["Sally"] = 10}for name, score in pairs(scores) doprint(name .. " has score: " .. score)end
Parametri
Una tabella o un dizionario da cui itere.
pcall
Chama la funzione func con gli argumenti specificati in modalità protetta. Ciò significa che qualsiasi errore all'interno di func non viene propagato; invece, pcall() cattura l'errore e rest
Parametri
Restituzioni
Riceve qualsiasi numero di argomenti e stampa i loro valori nell'Output. print non è inteso per l'Outputformattato, ma solo come modo rapido per mostrare un valore, tipicamente per il debug. Per l'Outputformattato, usa string.format() . Su Roblox,
Parametri
Qualsiasi numero di argomenti da esportare.
Restituzioni
rawget
Ottiene il valore reale di table[index] , senza invocare metodi metametodici.
Parametri
La tabella da cui fare riferimento.
L'indice per ottenere da t .
Restituzioni
rawset
Imposta il valore reale di table[index] su un valore specificato value , senza invocare alcun metodo metametodo.
Parametri
La tabella da cui fare riferimento.
L'indice impostato in t a un valore specificato value . Deve essere diverso da zero.
Il valore da impostare a uno specifico index in tabella t .
Restituzioni
require
Esegue il ModuleScript for
Come notato sopra, il comportamento "condivisione oggetti" non attraversa
Nota anche che se il ModuleScript l'utente vuole eseguire è stato caricato su Roblox (con il nome dell'esempioMainModule ) può essere caricato utilizzando la funzione require() sull'ID risorsa del 2>Class.ModuleScript2>, anche se solo sul Server.
Parametri
Il ModuleScript che verrà eseguito per recuperare il valore di restituzione che fornisce.
Restituzioni
Cosa il ModuleScript restituito (di solito una tabella o una funzione).
select
Restituisce tutti gli argomenti dopo il numero di argomento index . Se negativo, restituirà dalla fine della lista degli argomenti.
print(select(2, "A", "B", "C")) --> B Cprint(select(-1, "A", "B", "C")) --> C
Se l'argomento index è impostato su "#", il numero di argomenti che sono stati passati dopo il suo ritorno.
print(select("#", "A", "B", "C")) --> 3
Parametri
L'indice dell'argomento per restituire tutti gli argomenti dopo in args . Se è impostato su "#", il numero di argomenti che sono stati passati dopo che è stato restituito.
Un insieme di argomenti.
Restituzioni
setmetatable
Imposta il metabel per la tabella data t su newMeta . Se newMeta è nullo, il metabel di 1> t1> viene rimosso. Infine, questa
local meta = {__metatable = "protected"}local t = {}setmetatable(t, meta) -- Questo imposta la mettabilità di t-- Ora abbiamo una tabella, t, con un metitable. Se proviamo a cambiarlo...setmetatable(t, {}) --> Error: cannot change a protected metatable
Parametri
La tabella per impostare il metitable.
Se nullo, la mettabilità della tabella fornita t viene rimossa. Altrimenti, la mettabilità per impostare per la tabella fornita t .
Restituzioni
tonumber
Prova a convertire l'arg in un numero con una base specificata per interpretare il valore in. Se non può essere convertito, questa funzione restituisce null.
La base può essere qualsiasi numero tra 2 e 36, incluso. In base alle basi sopra 10, la lettera 'A' (in caso maiuscolo o minuscolo) rappresenta 10, 'B' rappresenta 11 e così via, con 'Z' che rappresenta 35. In base 10 (la parte decimale predefinita), il numero può avere una parte virgola, nonché una parte esponente opzionale. In altre basi, sono accettati solo gli interi non
Se una stringa inizia con 0x e non viene fornita una base, la 0x viene tagliata e la base viene presa in modo che sia 16, o hexadecimale.
print(tonumber("1337")) --> 1337 (assume la base 10, decimal)print(tonumber("1.25")) --> 1.25 (la base 10 può avere parti decimali)print(tonumber("3e2")) --> 300 (la parte base 10 può avere la parte di esponenzione, 3 & times; 10 ^ 2)print(tonumber("25", 8)) --> 21 (base 8, ottal)print(tonumber("0x100")) --> 256 (assume base 16, hexadecimal)print(tonumber("roblox")) --> null (non crea un errore)-- Consiglio: usa con l'assert se ti piace convertire i numeri non convertibili per generare un erroreprint(assert(tonumber("roblox"))) --> Error: assertion failed
Parametri
L'oggetto da convertire in un numero.
La base numerica per convertire arg in.
Restituzioni
tostring
Riceve un argomento di qualsiasi tipo e lo convertisce in una stringa in un formato ragionevole. Per il controllo completo di come i numeri vengono convertiti, usa Stringa.format. Se la mettabile di e ha un metodo __tostring , allora verrà chiamata con e come unico argomento e restituirà il Risultato.
local isRobloxCool = true-- Converti il booleano in una stringa e poi concatenare:print("Roblox is cool: " .. tostring(isRobloxCool)) --> Roblox is cool: true
Parametri
L'oggetto da convertire in una Stringa.
Restituzioni
type
Restituisce il tipo del suo unico argomento, codificato come una Stringa. I possibili risultati di questa funzione sono "nil" (una Stringa, non il valore nil), "number", "Stringa", "button", "tabella", "vettoriale", "Function", "Filo" e "Userdata".
Parametri
L'oggetto per restituire il tipo di restituzione.
Restituzioni
unpack
Restituisce gli elementi dalla tabella specificata. Per impostazione predefinita, i è 1 e j è la lunghezza di list, come definito dall'operatore di lunghezza.
Parametri
Restituzioni
xpcall
Questa funzione è simile a pcall() , tranne che puoi impostare un nuovo gestore di errori.
xpcall() chiama la funzione
Parametri
Restituzioni
Proprietà
_G
Una tabella che viene condivisa tra tutti gli script dello stesso Livellodi contesto.
_VERSION
Una variabile globale (non una funzione) che contiene una stringa che contiene la versione attuale dell'interpretatore.