是否可以在模板工具包中反轉匿名列表?如何反轉模板工具箱中的匿名列表?
例如
[% FOREACH month IN [1..12].reverse %]
[% month %]
[% END %]
(除非不起作用)。
只是想知道是否有一個不使用變量或明確輸入數組的方法。
是否可以在模板工具包中反轉匿名列表?如何反轉模板工具箱中的匿名列表?
例如
[% 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
,在第二種情況下參考有福的物體。
感謝亞當,這是非常有用的知道。 – aidan 2010-01-17 20:55:10
我有點新的,但你看這個:
[%月= [ '月', '月', '月',...];個月
[%FOREACH I = [(months.size-1)-1 .. 0]%] ##計數-11〜0爲12個元素 [%個月[(的##陣列I - 1)] ##將i轉換爲正數 - 顯示月份[11],月份[10] ...月份[0]
<!-- show 2010 2009 2008 2007 -->
[% SET startyear = 2007 %]
[% SET endyear = 2010 %]
[% SET allyears = [ startyear .. endyear ] %]
[% FOREACH year IN alleyears.reverse %]
<li>[% year %]</li>
[% END %]
看起來像某人需要寫一個Template :: Plugin :: Autobox。 – oeuftete 2010-01-15 17:24:58