|
|
|
Я обычно обнулаю переменные...
Т.к. очень часто, когда мне приходится потом повторно использовать макросы у меня в переменной может оказаться мусор.
Я придерживаюсь такой логики: -Если я пишу макрос в документе, то я подразумеваю, что он кроме как из этого документа вызываться ниоткуда не будет, и сильно не напрягаюсь по поводу инициализации переменных. -Если я пишу макрос в _macro.cfg или ещё где, то я делаю ВСЕ для того, чтобы он сохранял работоспособность при повторных вызовах, при передачи ему разнообразных параметров, для чего обязательно инициализирую переменные И делаю что-то подобное:@test1[var1;var2]
^var[test1_var1;$var1]
^var[test1_var2;$var2]
^context[test1_ctx;
^var[test1_var1], ^var[test1_var2]
] и в дальнейшем работаю с этими переменными. Зачем? Я думаю, это понятно из кода, который без этих извращений не будет работать при таком вызове:^context[result;
^macro[test1;^item[name];^item[email]]
] Для того, чтобы он работал нужно или писАть^context[result;
^macro[test1;^item[result;name];^item[result;email]]
] что тоже неплохо (на самом деле я при вызовах так-же передаю параметры, взятые из ^item[]), но кто-либо, не знающий или не соблюдающий этого принципа не будет долго ломать голову и матюкать меня, т.к. мой макрос не работает :)
|