Motore globale
Luau globals
*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.
Riepilogo
Funzioni
collectgarbage(operation: string):Variant |
getmetatable(t: Variant):Variant |
loadstring(contents: string,chunkname: string):Variant |
require(module: ModuleScript | string | number):Variant |
setmetatable(t: table,newMeta: Variant):table |
Riferimento API
Funzioni
assert
Parametri
value:Variant |
| Valore predefinito: assertion failed! |
Restituzioni
Variant
Campioni di codice
Affermare
local product = 90 * 4
assert(product == 360, "Oh caro, la moltiplicazione è rotta")
-- La riga sopra non fa nulla, perché 90 per 4 è 360collectgarbage
error
getfenv
getmetatable
getmetatable(t:Variant):Variant
Parametri
t:Variant |
Restituzioni
Variant
Campioni di codice
Ottieni la tabella metatable
local meta = {}
local t = setmetatable({}, meta)
print(getmetatable(t) == meta) --> true
-- Rendi la metatable originale irrecuperabile impostando il metametodo __metatable:
meta.__metatable = "protetta"
print(getmetatable(t)) --> protettaipairs
loadstring
newproxy
next
pairs
pcall
Restituzioni
Campioni di codice
Pcall
local function divideByFive(n: number): number
return n / 5
end
local success, errorMessage = pcall(divideByFive, "notANumber") -- Risultato in errore...
if success then
-- Gestisci la risposta di successo...
else
print("Messaggio di errore:", errorMessage)
endrawset
require
Parametri
Restituzioni
Variant
Campioni di codice
Richiesta Risoluzione Moduli
-- Il prefisso "./" è equivalente a script.Parent
require("./MySibling")
require((script.Parent).MySibling)
-- Il prefisso "../" è equivalente a script.Parent.Parent
require("../SiblingOfMyParent")
require((script.Parent.Parent).SiblingOfMyParent)
-- "../" può essere concatenato per salire più livelli
require("../../SiblingOfMyGrandparent")
require((script.Parent.Parent).Parent.SiblingOfMyGrandparent)
-- Il prefisso "@self" corrisponde allo script stesso
require("@self/MyChild")
require((script).MyChild)
-- Il prefisso "@game" corrisponde alla radice del DataModel
require("@game/ReplicatedStorage/Shared/MyModule")
require((game).ReplicatedStorage.Shared.MyModule)select
setfenv
setmetatable
Parametri
newMeta:Variant |
Restituzioni
Campioni di codice
ImpostaMetatable
local meta = {__metatable = "protetto"}
local t = {}
setmetatable(t, meta) -- Questo imposta il metatable di t
-- Ora abbiamo una tabella, t, con un metatable. Se proviamo a cambiarlo...
local ok, err = pcall(setmetatable, t, {})
assert(not ok and err:find("protetto")) -- Errore: impossibile cambiare un metatable protettotonumber
Parametri
arg:Variant |
| Valore predefinito: 10 |
Restituzioni
Variant
Campioni di codice
Tonumber
print(tonumber("1337")) --> 1337 (presuppone base 10, decimale)
print(tonumber("1.25")) --> 1.25 (la base 10 può avere porzioni decimali)
print(tonumber("3e2")) --> 300 (la base 10 può avere porzione esponenziale, 3 × 10 ^ 2)
print(tonumber("25", 8)) --> 21 (base 8, ottale)
print(tonumber("0x100")) --> 256 (presuppone base 16, esadecimale)
print(tonumber("roblox")) --> nil (non genera un errore)
-- Suggerimento: usa con assert se desideri che i numeri non convertibili generino un errore
local ok, err = pcall(function() assert(tonumber("roblox")) end)
print(ok and "Success" or "Error: " .. tostring(err)) --> Error: assertion failedtostring
unpack
Proprietà