Lua Globals

Visualizza obsoleti

*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

  • assert(value : Variant,errorMessage : string):Variant

    Lancia un errore se il valore fornito value risolve in false o nil .

  • error(message : string,level : number):void

    Interrompe l'esecuzione del thread e mostra un errore.

  • Restituisce il totale della dimensione della memoria in kilobytes.

  • getmetatable(t : Variant):Variant

    Restituisce la mettabilità della tabella fornita.

  • Restituisce una funzione innovatore e la tabella per l'uso in un for loop.

  • loadstring(contents : string,chunkname : string):Variant

    Restituisce il codice fornito come funzione che può essere eseguita.

  • newproxy(addMetatable : bool):userdata

    Crea un'opzione vuota userdata , con l'opzione per avere una mettabile.

  • next(t : table,lastKey : Variant):Variant,Variant

    Una funzione innovatore per l'uso in forti.

  • Restituisce una funzione innovatore e la tabella fornita per l'uso in un for loop.

  • pcall(func : function,args : Tuple):bool,Variant

    Esegue la funzione fornita e cattura qualsiasi errore che lancia, rendendo il successo della funzione e i suoi risultati.

  • print(params : Tuple):void

    Stampa tutti i valori forniti all'Output.

  • rawequal(v1 : Variant,v2 : Variant):bool

    Restituisce se v1 è uguale a v2 , bypassando i loro metodi di metametodo.

  • rawget(t : table,index : Variant):Variant

    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.

  • rawset(t : table,index : Variant,value : Variant):table

    Imposta il valore reale di table[index] , bypassando tutti i metodi metodi.

  • require(module : ModuleScript):Variant

    Restituisce il valore che è stato restituito dal ModuleScript specificato, facendolo eseguire se non è ancora stato eseguito.

  • select(index : Variant,args : Tuple):Tuple

    Restituisce tutti gli argomenti dopo l'indice specificato.

  • setmetatable(t : table,newMeta : Variant):table

    Imposta il metitable della tabella specificata.

  • tonumber(arg : Variant,base : number):Variant

    Restituisce il valore fornito convertito in un numero, o zero se impossibile.

  • tostring(e : Variant):string

    Restituisce il valore fornito convertito in una Stringa, o null se impossibile.

  • type(v : Variant):string

    Restituisce il tipo di base dell'oggetto fornito.

  • unpack(list : table,i : number,j : number):Variant

    Restituisce tutti gli elementi dalla lista fornita come un tupla.

  • xpcall(f : function,err : function,args : Tuple):bool,Variant

    Simile a pcall() ad eccezione che utilizza un gestore di errori personalizzato.

Proprietà

  • Una tabella che viene condivisa tra tutti gli script dello stesso Livellodi contesto.

  • Una variabile globale che contiene una stringa che contiene la versione attuale dell'interpretatore.

Funzioni

assert

Variant

Lancia un errore se il value fornito è false o nil. Se l'affermazione passa, restituisce tutti i valori passati.


local product = 90 * 4
assert(product == 360, "Oh dear, multiplication is broken")
-- The line above does nothing, because 90 times 4 is 360

Parametri

value: Variant

Il valore che verrà affermato contro.

errorMessage: string

Il testo che verrà mostrato nell'errore se l'affermazione fallisce.

Valore predefinito: assertion failed!

Restituzioni

Variant

error

void

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

message: string

Il messaggio di errore da visualizzare.

level: number

Il livello di informazioni che dovrebbe essere stampato. Predefinito a 1.

Valore predefinito: 1

Restituzioni

void

gcinfo

Restituisce il valore totale della memoria in kilobyte. Il numero riflette il consumo attuale della memoria dalla prospettiva dell'operazione sistema, che aumenta con il tempo mentre il raccoglitore di rifiuti libera gli oggetti.

Restituzioni

getmetatable

Variant

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

t: Variant

L'oggetto per ottenere il metatable.

Restituzioni

Variant

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) do
print(index, fruit) --> 1 mele, 2 arance, 3 kiwi, ecc.
end

Parametri

Una tabella il cui elemento è da ripetere.

loadstring

Variant

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

contents: string

La stringa specificata da caricare come codice Lua.

chunkname: string

Un nome opzionale per i messaggi di errore e le informazioni di debug. Se non specificato, Lua utilizza la Stringacontents.

Restituzioni

Variant

newproxy

Crea un'opzione vuota userdata , con l'opzione per avere una mettabile.

Parametri

addMetatable: bool
Valore predefinito: false

Restituzioni

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) do
print(name .. " has score: " .. score)
end

Parametri

Una tabella o un dizionario da cui itere.

Restituzioni

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

func: function

La funzione da chiamare in modalità protetta.

args: Tuple

Gli argumenti per inviare a func quando si esegue.

Restituzioni

Variant

print

void

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

params: Tuple

Qualsiasi numero di argomenti da esportare.

Restituzioni

void

rawequal

Controlla se v1 è uguale a v2 , senza invocare metodi metastanti.

Parametri

v1: Variant

La prima variabile da confrontare.

v2: Variant

La seconda variabile da confrontare.

Restituzioni

rawget

Variant

Ottiene il valore reale di table[index] , senza invocare metodi metametodici.

Parametri

La tabella da cui fare riferimento.

index: Variant

L'indice per ottenere da t .

Restituzioni

Variant

rawlen

Restituisce la lunghezza della stringa o della tabella, senza invocare metodi metastato.

Parametri

La tabella da cui fare riferimento.

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.

index: Variant

L'indice impostato in t a un valore specificato value . Deve essere diverso da zero.

value: Variant

Il valore da impostare a uno specifico index in tabella t .

Restituzioni

require

Variant

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

module: ModuleScript

Il ModuleScript che verrà eseguito per recuperare il valore di restituzione che fornisce.

Restituzioni

Variant

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 C
print(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

index: Variant

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.

args: Tuple

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.

newMeta: Variant

Se nullo, la mettabilità della tabella fornita t viene rimossa. Altrimenti, la mettabilità per impostare per la tabella fornita t .

Restituzioni

tonumber

Variant

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 errore
print(assert(tonumber("roblox"))) --> Error: assertion failed

Parametri

arg: Variant

L'oggetto da convertire in un numero.

base: number

La base numerica per convertire arg in.

Valore predefinito: 10

Restituzioni

Variant

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

e: Variant

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

v: Variant

L'oggetto per restituire il tipo di restituzione.

Restituzioni

unpack

Variant

Restituisce gli elementi dalla tabella specificata. Per impostazione predefinita, i è 1 e j è la lunghezza di list, come definito dall'operatore di lunghezza.

Parametri

list: table

La lista degli elementi da scompattare.

L'indice del primo elemento da unpack.

Valore predefinito: 1

L'indice dell'ultimo elemento da un包.

Valore predefinito: #list

Restituzioni

Variant

xpcall

Questa funzione è simile a pcall() , tranne che puoi impostare un nuovo gestore di errori.

xpcall() chiama la funzione

Parametri

La funzione da chiamare in modalità protetta.

La funzione da utilizzare come maneggiamento degli errori se xpcall cattura un errore.

args: Tuple

Restituzioni

Variant

Proprietà

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.