Статические счетчики

Опубликовано в AmiBroker

Статические переменные в AFL сохраняются между итерациями. Основное предназначение - различные счетчики. Чтобы не раздувать тексты, можно использовать функцию StaticVarInc:

 

dnl Увеличение целочисленной статической переменной на AddValue

function StaticVarInc(StaticVarName,AddValue)
{ Local Result; Result = AddValue + NZ(StaticVarGet(StaticVarName));
StaticVarSet(StaticVarName,result);
return Result;
}

 Чтобы каждый раз не писать единичку вторым параметром при вызове функции, использую макрос:

define(`StaticVarInc',``$0'(`$1',m4_default(`$2',1))')

Недостаточно прав для комментирования