eval
Задание интерпретации текстовых выражений в процессе выполнения программы.
Синтаксис
eval(<Строковая переменная>);
Описание
При помощи ключевого слова eval язык программирования позволяет компилировать текстовые выражения непосредственно при выполнении программы.
Пример
//Эта секция выполняется ДО компиляции остального скрипта
if signalexist(Name1+"_L1_SET") then
eval("define ISST1")
else eval("define ISST4")
else eval("undefine ISST4");
//определяем флаги наличия уставок
//если какой-то уставки нет, то выключаем флаг !!! иначе -
//включаем
if signalexist("AS_"+Name1+"_L1_ON") then eval("defineLAS11") else eval("undefine LAS11");
if signalexist("AS_"+Name1+"_H1_ON") then eval("defineHAS11") else eval("undefine HAS11");
if signalexist("PS_"+Name1+"_L1_ON") then eval("defineLPS11") else eval("undefine LPS11");
if signalexist("PS_"+Name1+"_H1_ON") then eval("defineHPS11") else eval("undefine HPS11");
//теперь, если флаг есть - то уставка есть, иначе - не делаем
// ничего с этой уставкой
end;
В примере определена секция скрипта, выполняемая до компиляции основного скрипта. В секции определяется наличия уставок для сигналов, если какой-то уставки нет, то выключаем флаг наличия уставки, иначе – включаем. При помощи ключевого слова eval определяются текстовые выражения, которые интерпретируются в момент выполнения скрипта.