AngelScript Help

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