Макрос forloop

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

Оказывается, в реализации 1.1.14 для Windows отсутствует встроенный макрос forloop, который имеется в более поздних версиях для Linux.

Но его можно реализовать и самому:

define(`forloop',`pushdef(`$1',`$2')m4_forloop(`$1',`$2',`$3',`$4')popdef(`$1')')
define(`m4_forloop',`$4`'ifelse($1,`$3', ,`define(`$1',incr($1))m4_forloop(`$1',`$2',`$3',`$4')')')

Все довольно незамысловато, если несколько минут помедитировать над этими двумя строчками. Работает ровно так же, как описанный в документации.

Также несложно сделать цикл по списку - foreach

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

Библиотека