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

Используемые функции и ключевые слова