ModuleScript
*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.
ModuleScript to typ kontenera źródłowego Lua, który zostanie wykonany raz i musi zwrócić dokładnie jedną wartość. Ta wartość zostanie następnie zwrócona przez wezwanie do require , zależnie od środowiska Lua.ModuleScripty zostaną wykonane tylko raz na każde środowisko Lua i zwrócą dokładnie tę samą wartość dla następnych wezwania do require.
ModuleScripts są niezbędnymi obiektami do przestrzegania zasady nie powtarzania się (DRY). Gdy piszesz funkcję, pisz ją tylko raz i używaj jej wszędzie. Posiadanie wielu kopii funkcji jest katastrofalne, gdy musisz zmienić zachowanie. Więc, powinieneś zdefiniować funkcje lub grupy funkcji w ModuleScripts i mieć swoje fun
Ważne jest, aby wiedzieć, że wartości zwracane z ModuleScripts są niezależne wobec lokalnych skryptów i skryptów, a inne środowiska, takie jak Roblox StudioKomend. Używanie require naModuleScript w lokalnym środowisku z Konsoli Komend będzie
Uwaga, że pierwszy call do require naModuleScript nie zwróci wyniku (halt), chyba że ModułScript zwróci wynik (
Jeśli ModuleScript zostanie przesłany do Roblox i moduł korzeni ma ustawioną nazwę MainModule, można go załadować jako modelu i wymagany używając require() z ID zasobu modułu. Następnie można go
Przykłady kodu
The code sample starts by creating a local variable holding an empty table. It then fills the table with two placeholder functions, and then finally returns the table. Using this code in a ModuleScript would make the my_functions table (and thus any functions, tables or other values within it) available to any Script, LocalScript or other ModuleScript.
-- 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
This code sample shows how to use the require function on a ModuleScript, then use the value that it returned. See the "Simple ModuleScript Example" for the code to go with this sample.
-- 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()
Podsumowanie
Właściwości
Kod do wykonania.
Właściwości
Source
Kod do wykonania.
Jeśli chcesz przeczytać lub zmienić otwarty przez użytkownika skrypt, rozważ użycie ScriptEditorService aby wejść w interakcję z Edytorem Skryptów zamiast tego.