如何在Template Toolkit中拼接变量值?代码场景求助
Template Toolkit 字符串拼接解决方案
在Template Toolkit中,字符串拼接要使用~操作符,你原来尝试用下划线连接变量的写法是无效的。要拼接data2的第7、6、5位元素,正确的调用方式是:
[% get_seq(data2.7 ~ data2.6 ~ data2.5) %]
完整修正代码
[% MACRO get_seq(seq) BLOCK %] [% SWITCH seq -%] [% CASE '000' -%] apply seq_0 [% CASE '001' -%] apply seq_1 [% CASE '010' -%] apply seq_2 [% CASE '011' -%] apply seq_3 [% CASE '100' -%] apply seq_4 [% CASE '101' -%] apply seq_5 [% CASE '110' -%] apply seq_6 [% CASE '111' -%] apply seq_7 [% CASE -%] apply seq_z [% END %] [% END %] [% set data1 = '11110000' %] [% data2 = data1.split('') %] [% get_seq(data2.7 ~ data2.6 ~ data2.5) %]
注意事项
Template Toolkit的数组索引从0开始。你的data1 = '11110000'拆分后得到的数组是['1','1','1','1','0','0','0','0'],所以data2.7对应最后一个字符'0',如果你的目标是传入'111',需要调整索引,比如取data2.0 ~ data2.1 ~ data2.2或者其他符合需求的索引组合。
内容的提问来源于stack exchange,提问作者varun kumar
相关产品推荐
相关产品推荐

