Операторы и переменные
Выражение
может содержать числа, строки, скобки, знаки арифм. действий, имена
переменных и макросов.
Числа
распознаются только целые.
Строка - это последовательность символов, заключённая в двойные или одинарные
кавычки.
Знаки арифм. действий - это + - * / При делении на 0 возвращается сообщение об
ошибке. По отношению к строкам все арифм. действия действуют как
конкатенация. Если один из операндов строка, то второй также считается
строкой.
Имена переменных в выражении начинаются со двойного знака доллара (напр. $$Temp).
Переменные задаются макросом %UMCSET. Так, если вы создали целую
переменную ALPHA с помощью %UMCSET(ALPHA,25), то вы можете
использовать её значение в выражении так: %UMCEVAL("$$APLHA+1")
Имена макросов в выражении начинаются с одинарного знака процента (например,
%UMCEVAL("%UMCVER")). Если макрос использует параметры, их можно указать
сразу после имени,
напр., %UMCEVAL("%UMCNUMTOSTR($$ALPHA*15))
В выражении можно использовать любые встроенные макросы, а также
макросы UMC и других установленных в The Bat! плагинов
Макрос %UMCFOR выполняет в цикле выражение, при этом будет создана временная
переменная VARNAME. "Временная" значит, что её значение не будет сохранено
при выходе из The Bat, этим она отличается от переменных,
созданных с помощью %UMCSET.
Например, %UMCFOR(i,1,5,"$UMCNUMTOSTR($$i)",C) даст в результате один,два,три,четыре,пять
На
странице с переменными вы можете
поэкспериментировать с выражениями,
только значения макросов там вычисляться не будут.
%UMCVAR(VARNAME) - возвращает
значение указанной переменной
%UMCSET(VARNAME,"Value") - создаёт
переменную VARNAME со значением "Value" (может быть Integer либо
String, определяется автоматически)
%UMCINC(VARNAME,VAL) - увеличивает значение
переменной VARNAME на VAL (по умолчанию VAL полагается равным единице).
%UMCEVAL("Expr") -
возвращает значение выражения
%UMCEV("Expr") -
заменяет в строке имена переменных на их значения
%UMCFOR(VARNAME,i1,i2,"Expr",DEL)-
вычисляет "Expr" в цикле при переменной VARNAME, меняющей значения от
i1 до i2 (целые). DEL - использовать ли символ-разделитель итераций. DEL
может принимать значения S - пробел, L - перевод строки, C - запятая,
по умолчанию - символ отсутствует.