JASS Help

Аргументы функции

Они же параметры - специальные переменные, которые являются частью сигнатуры функции. Когда у функции есть параметры, вы можете предоставить ей конкретные значения этих параметров.

function A takes string B, string C returns nothing // Объявление функции с именем A, которая принимает две строки B и C ConsolePrint(B + " " + C) // Делаем конкатенацию строк и выводим результат в консоль endfunction function main takes nothing returns nothing call A("Продам", "гараж") // Вызываем функцию A и передаём ей две строки аргументами endfunction

Порядок вычисления

Аргументы вычисляются в том порядке, в котором были объявлены.

function A takes string B returns string call ConsolePrint(B) return B endfunction function C takes string D, string E returns nothing endfunction function main takes nothing returns nothing call C(A("1"), A("2")) // 12 endfunction

Локальные переменные

Внутренний механизм аргументов и локальных переменных одинаков за тем лишь различием, что аргументы можно передать в функцию извне.

На уровне движка все они хранятся в функции, а доступ к ним осуществляется по имени. Поэтому такой код хоть и бесполезен, но вполне валиден.

function A takes real B, integer B, integer B returns nothing local integer B local integer B local location B local unit B local string B = "Work" call ConsolePrint(B) // Будет взят последний аргумент/[[[переменная|local.html]]] совпадающий по имени endfunction function main takes nothing returns nothing call A(1.2, 3, 4) endfunction

handle

Last modified: 22 October 2024