ModuleScript 是 Lua 源碼容器的類型,一次運行,必須返回正確的一個值。這個值會然後由 require 給予ModuleScript作為唯一的引數數來返回。ModuleScripts 在每個 Lua 環境執行一次,並且在 require 給予ModuleScript作為唯一的參數後返回相同的值。
模組指令是遵守 "不要重複自己" 原則所必需的對象。當您編寫一個函數時,只需要寫一次並且在任何地方使用。有多個複製模組指令的情況下會是災難,因為您必須更改此行為。因此,您應該在模組指令中定義一些功能或在模組指令中使用 r需要 必填quire
重要的是,ModuleScript 的返回值與本地指令碼和指令碼無關,並且與 r需要 必填quire 在模組中使用,即可在客戶端執行此代碼,即使已在伺服器上執行。同樣地,在 Robl需要 必填x Studio 中使用 require
注意,在Modu需要 必填eScript上的第一個呼叫為 require 將不會生成 (halt) ,除非ModuleScript返回值 (例如呼
如果 ModuleScript 已上傳到 Roblox ,且根模組設為 MainModule ,它可以作為模型上傳到您的體驗,並且使用 require() 與模型的資產 ID 來載入它。然後它可以載
範例程式碼
Simple ModuleScript Example
-- 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
Simple ModuleScript Usage
-- 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()