ModuleScript
*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.
Un ModuleScript è un tipo di container di script Lua che viene eseguito una volta e deve restituire esattamente un valore. Questo valore viene poi restituito da un call to require given ilModuleScript come unico argomento. IModuleScripts vengono eseguiti una volta sola per ambiente Lua e restituiscono lo stesso valore per le successive chiamate a require .
ModuleScripts sono oggetti essenziali per aderirsi al principio "non ripetere mai te stesso" (DRY). Quando si scrive una funzione, si scrive solo una volta e si usa ovunque. Avere più copie di una funzione è disastroso quando si deve cambiare questo comportamento. Quindi, si dovrebbe definire funzioni o gruppi di funzioni inModuleScripts e avere il tuo script e script locali chiamare require
È importante sapere che i valori di ritorno daModuleScripts sono indipendenti per quanto riguarda gli script locali e gli script, e altri ambienti come la barra dei comandi. L'uso di require su unModuleScript nella gerarchia con la barra dei comandi eseguirà il codice sul client, anche se uno script lo
Nota che la prima chiamata a require su unModuleScript non si genererà (halt) a meno che ilModuleScript non generi un valore. Un
Se un ModuleScript viene caricato su Roblox e il modulo di base ha il nome impostato su MainModule, può essere caricato come modello e richiesto utilizzando require() con l'ID risorsa del modulo. Quindi può essere caricato nella tua esperienza, anche se questa
Campioni di codice
-- Tables store multiple values in one variable
local MyFunctions = {}
-- Add a few functions to the table
function MyFunctions.foo()
print("Foo!")
end
function MyFunctions.bar()
print("Bar!")
end
-- ModuleScripts must return exactly one value
return MyFunctions
-- The require function is provided a ModuleScript, then runs
-- the code, waiting until it returns a singular value.
local MyFunctions = require(script.Parent.MyFunctions)
-- These are some dummy functions defined in another code sample
MyFunctions.foo()
MyFunctions.bar()
Sommario
Proprietà
Il codice da eseguire.
Metodi
Proprietà
Source
Il codice da eseguire.
Se vuoi leggere o modificare uno script che l'utente ha aperto, considera di utilizzare il ScriptEditorService per interagire con lo Script Editor invece.