• Добро пожаловать! Если у вас не проходит регистрация - попробуйте отключить программы, которые могут изменять интернет-подключение.

Модульное программирование в Roblox

ImSoKolako

Пользователь
Регистрация
Авг 27, 2025
Сообщения
2
Здравствуйте, разработчики! Вы, скорее всего, видели объекты класса ModuleScript, но (вероятно) не знали зачем и почему их используют.

(также известно как модульное программирование, где программа разделена на блоки кода, которые зовутся модулями).

Их используют для того, чтобы сохранить какой-либо блок памяти (конкретнее - таблицу, репрезентирующую класс/набор значений или функцию) т.к. ModuleScript кэшируется, а также чтобы не повторять код.

По одному из принципов SOLID, у каждого модуля должна быть своя ответственность, модуль не должен брать на себя несколько обязанностей.

Чтобы получить возвращаемое модульным скриптом значение, нужно "потребовать" его. Для этого используется глобальная функция require. Она принимает строку с путём к ModuleScript, либо сам ModuleScript.

Однако, для каждого окружения (серверного/локального и т.п.) модульный скрипт возвращает новое, независимое значение, т.е. таблица модуля на сервере не будет равна таблице модуля на клиенте. Также, возвращаемое значение должно быть ВСЕГДА в количество одного, кортежи не допускаются.

На практике модульные скрипты используются для уменьшения кол-ва [God Objects](<https://ru.wikipedia.org/wiki/Божественный_объект>), разделения кода на именованные части, а также для создания архитектуры в игре, при которой каждый модуль является [демоном](<https://ru.wikipedia.org/wiki/Демон_(программа)>) ("сервисом").
Также, в давние времена, креаторы использовали модульные скрипты в качестве файлов конфигурации своих систем. Сейчас такая практика тоже может встретиться, но не так часто.

Вы также можете поделиться тем, как Вы используете ModuleScript, или рассказать более подробно о них, если, конечно, ваша информация будет правдива и важна.
 
Назад
Сверху