[% a = ['one', 'two', 'four'] %]
[% a.1 %] # it prints two. OK!
但是当我想要这个时:
[% a = ['one', 'two', 'four'] %]
[% n = 1 %]
[% a.n %] # it doesn't work
如何使用var n从数组中获取已定义的元素?
答案 0 :(得分:9)
模板工具包对列表和哈希元素具有相同的访问权限 - 通过点运算符。在您的代码中,TT认为您希望通过键'n'获得散列a的值。 解决方案是在点运算符中的实际变量之前使用前缀$,在这种情况下:
[% a = ['one', 'two', 'four'] %]
[% n = 1 %]
[% a.$n %] # now it works