include
Подключает код из внешнего файла. Путь относителен тому файлу, в котором используется include
.
#include "Scripts\\blizzard.as"
Разрешено использовать только в корне файла или в пространстве имён.
- Пример
A.as
string A = "A";war3map.as
#include "A.as" void [[[main|main.html]]](){ // #include "A.as" // Ошибка! Размещение include в функции запрещено! print(A); // A }
Разрешение
Функционал подключения никак не модифицирует исходную логику и видимость. Его задача состоит в том, чтоб указать какие файлы участвуют в компиляции.
Один и тот же файл может быть подключён только единожды. Повторное указание файла для подключения не вызовет ошибки и будет проигнорировано.
- Пример
C.as
string C = "C";B.as
#include "C.as" string B = "B";A.as
#include "B.as" string A = "A";war3map.as
#include "A.as" #include "С.as" // Повторное подключение юудет проигнорировано и не вызовет ошибки void [[[main|main.html]]](){ print(A); // A print(B); // B print(C); // C }
Пространство имён
Использование подключения внутри пространства имён служит только для удобства и не несёт никакого дополнительного смысла с точки зрения работы с кодом.
- Пример
main.as
[[[namespace|namespace.html]]] Map { void main(){ print("main"); } }config.as
[[[namespace|namespace.html]]] Map { void config(){ print("config"); } }war3map.as
[[[namespace|namespace.html]]] SomeNamespace { [[[namespace|namespace.html]]] SomeAnotherNamespace { #include "main.as" // [[[Пространство имён|namespace.html]]] никак не влияет на подключение файла } } #include "config.as" void [[[main|main.html]]](){ Map::main(); // main Map::config(); // config }
Last modified: 25 December 2024