ModuleScript
*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.
Um ModuleScript é um tipo de contêiner de código Lua que é executado uma vez e deve retornar exatamente um valor. Este valor é então retornado por um chamado para require , dado que oModuleScript é o único argumento. OsModuleScripts são executados uma vez e apenas uma vez por ambiente Lua e retornam o mesmo valor para chamadas subsequentes à require.
ModuleScripts são objetos essenciais para aderir ao princípio de não repetir-se (DRY). Quando você escreve uma função, escreva-a apenas uma vez e use-a em todos os lugares. Ter múltiplas cópias de uma função é desastroso quando você precisa alterar esse comportamento. Portanto, você deve definir funções ou grupos de funções em ModuleScripts e ter seu código organizado!
É importante saber que os valores de retorno de ModulosScripts são independentes em relação aos Scripts, LocaisScripts e outros ambientes, como a Barra de Comando. Ao usar require em um ModulosScript na hierarquia com a Barra de Comando, o código será executado no cliente, mesmo se
Nota que a primeira chamada para require em umModuleScript não retornará (halt) a menos que oModuleScript retorne um valor. Um erro
Se um ModuleScript for carregado no Roblox e o módulo de raiz tiver o nome definido como MainModule, ele pode ser carregado como um modelo e exigido usando require() com o ID de ativo do módulo. Então ele pode ser carregado em sua experiência, emb
Amostras de código
-- 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()
Resumo
Propriedades
O código a ser executado.
Propriedades
Source
O código a ser executado.
Se você quiser ler ou modificar um script que o usuário tem aberto, considere usar o ScriptEditorService para interagir com o Editor de Script em vez disso.