5
[% a = ['one', 'two', 'four'] %]
[% a.1 %] # it prints two. OK!

但是当我想要这个时:

[% a = ['one', 'two', 'four'] %]
[% n = 1 %]
[% a.n %] # it doesn't work

如何使用 var n 从数组中获取定义的元素?

4

1 回答 1

13

Template Toolkit 通过点运算符对列表和哈希元素具有相同的访问权限。在您的代码中,TT 认为您希望通过键“n”在哈希 a 中获取值。解决方案是在点运算符中的实际变量之前使用前缀 $,在您的情况下:

[% a = ['one', 'two', 'four'] %]
[% n = 1 %]
[% a.$n %] # now it works
于 2013-03-26T11:40:51.150 回答