Действительно ли возможно инвертировать анонимный список в шаблонном инструментарии?
например.
[% FOREACH month IN [1..12].reverse %]
[% month %]
[% END %]
(за исключением того, что не работает).
Просто задался вопросом, был ли аккуратный способ сделать это, не используя переменные или явно выводя массив.
Извините, нет. Возможность создавать анонимные массивы in situ, это особый случай, обрабатываемый сингуртом TT. Вы не можете работать на них, как вы можете в регулярном Perl без промежуточного этапа присвоения к именованной переменной.
Редактировать: Вы не можете даже пройти в подпрограмме, чтобы попытаться использовать так:
[% FOREACH month IN my_reverse([1..12]) %]
[% month %]
[% END %]
Также не сможете попробовать использовать метод на объекте:
[% FOREACH month IN testObj.my_reverse([1..12]) %]
[% month %]
[% END %]
они будут компитенны, но в каждом случае FOREACH
конструкция видит голову цепи, например Код
ссылка в первом случае и благословенный объект во втором.