Задание интерпретации текстовых выражений в процессе выполнения программы.
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 определяются текстовые выражения, которые интерпретируются в момент выполнения скрипта.