0

我想在模板工具包中实现 switch case 语句。我的代码如下:

[% SWITCH myvar %]
[% CASE > 4 %]
Value is amplified
[% CASE < 1%]
Value is Deleted
[% CASE %]
Normal Value
[%END%]

我收到一条错误消息,提示“<”和“>”是我脚本​​中的意外标记。谁能帮我解决这个问题。我最好不要使用 IF 语句,因为它会降低脚本的执行速度。上面有没有其他选择。

提前致谢...

4

1 回答 1

2

模板代码不支持除相等或 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" -%]
于 2012-08-24T00:37:58.673 回答