我正在模板工具包中进行 concat,但目前我遇到了问题。在我的程序中,我定义了一个具有 switch case 的宏,并且我有从多个变量中获取的 case 值。请找到示例代码
[%- 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) %] // Needed get_seq(111)
如何连接7位6位5位数据2
感谢和问候, 瓦伦·库马尔 M S
TT2 需要在连接运算符周围留有空间:
[% get_seq(data2.7 _ data2.6 _ data2.5) %]
您可能还想考虑这样的方法来避免连接:
[% data1 = '11110000' %]
[% data2 = data1.split('').slice(5,3).reverse.join('') %]
[% get_seq(data2) %]
为了简化调用 MACRO 的逻辑,您可能需要考虑从 MACRO 定义中的字符串中提取
seq
。