Module Script(рус. Модульный скрипт) — объект в иерархии Roblox Studio, предназначенный для организации и структурирования повторно используемого Lua-кода в виде модулей, которые могут быть загружены другими скриптами через функцию require.
Особенности[]
- Требует явного возврата значения через ключевое слово
return
, которое может быть таблицей, функцией, строкой или любым другим типом данных Lua. - После первого вызова
require
результат выполнения Module Script кэшируется, и последующие вызовыrequire
для того же модуля будут возвращать закэшированное значение, что предотвращает повторное выполнение кода внутри модуля. - Может быть размещен в различных сервисах Roblox Studio, таких как
ReplicatedStorage
,ServerScriptService
,StarterPlayerScripts
или других, для обеспечения доступа как на стороне клиента, так и на стороне сервера. - Позволяет организовать код в виде библиотек, что способствует улучшению читаемости, поддержки и масштабируемости проекта, особенно в больших играх с множеством взаимодействующих компонентов.
Пример кода[]
local ModuleLib = {}
function ModuleLib:SayHello()
print("Библиотека ModuleScript!")
end
function ModuleLib:AddNumbers(a, b)
return a + b
end
return ModuleLib