是否可以撤消模板工具包中的匿名列表?
例如
[% FOREACH month IN [1..12].reverse %] [% month %] [% END %]
(除了不起作用).
只是想知道是否有一种巧妙的方法可以不使用变量或显式输入数组.
解决方法
对不起,没有.能够在原地实例化匿名数组是由TT解析器处理的特殊情况.如果没有分配给命名变量的中间步骤,就不能像常规Perl一样对它们进行操作.
编辑:您甚至无法传递子程序尝试使用如下:
[% FOREACH month IN my_reverse([1..12]) %] [% month %] [% END %]
您也不能尝试在对象上使用方法:
[% FOREACH month IN testObj.my_reverse([1..12]) %] [% month %] [% END %]
他们将编译,但在每种情况下,FOREACH构造都会看到链的头部,例如第一种情况下的CODE引用和第二种情况下的祝福对象.