我想在模板工具包中实现 switch case 语句。我的代码如下:
[% SWITCH myvar %]
[% CASE > 4 %]
Value is amplified
[% CASE < 1%]
Value is Deleted
[% CASE %]
Normal Value
[%END%]
我收到一条错误消息,提示“<”和“>”是我脚本中的意外标记。谁能帮我解决这个问题。我最好不要使用 IF 语句,因为它会降低脚本的执行速度。上面有没有其他选择。
提前致谢...
我想在模板工具包中实现 switch case 语句。我的代码如下:
[% SWITCH myvar %]
[% CASE > 4 %]
Value is amplified
[% CASE < 1%]
Value is Deleted
[% CASE %]
Normal Value
[%END%]
我收到一条错误消息,提示“<”和“>”是我脚本中的意外标记。谁能帮我解决这个问题。我最好不要使用 IF 语句,因为它会降低脚本的执行速度。上面有没有其他选择。
提前致谢...
模板代码不支持除相等或 in-list 之外的任何内容,如精美手册中所述。
话虽如此,如果将CASE
语句编译为执行速度比IF ... ELSIF ... END
. 事实上,我会把钱花在将任何一种语法编译成完全相同的东西上。您也可以将其编写为三元运算符序列,但我仍然认为在速度方面没有区别。
[%- IF myvar > 4;
"Value is amplified";
ELSIF myvar < 1;
"Value is Deleted";
ELSE;
"Normal Value";
END; -%]
...或者...
[%- (myvar > 4) ? "Value is amplified" :
(myvar < 1) ? "Value is Deleted" : "Normal Value" -%]