2012-08-23 2 views
0

템플릿 툴킷에서 스위치 케이스 문을 구현하고 싶습니다.템플릿 툴킷의 Switch Case 문

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

내가 '<를'내 스크립트에 '>'있는 예기치 않은 토큰라는 오류 메시지가 무엇입니까 다음과 같이 내 코드입니다. 어느 누구도이 문제를 해결할 수 있습니까? 필자는 스크립트의 실행 속도를 줄이기 때문에 IF 문을 사용하고 싶지 않습니다. 위의 다른 대안이 있습니까? 사전에

감사합니다 ...

답변

1

템플릿 코드가 explained in the fine manual로, 평등보다는 또는 목록 다른 것을 지원하지 않습니다.

CASE 성명이 IF ... ELSIF ... END보다 빨리 실행되는 것으로 컴파일되면 나는 놀랄 것입니다. 사실, 똑같은 것을 컴파일하는 구문에 돈을 넣었습니다. 이것을 삼항 연산자의 시퀀스로 작성할 수도 있지만, 나는 여전히 속도면에서 차이가 없다고 생각한다.

[%- IF myvar > 4; 
     "Value is amplified"; 
    ELSIF myvar < 1; 
     "Value is Deleted"; 
    ELSE; 
     "Normal Value"; 
    END; -%] 

... 나 ...

답장을 보내
+0

다시 한번 감사합니다 ... 난 이미 내 코드에서 IF 문 구현했다,하지만 난 스위치의 경우는 아무것도 것인지 알고 싶었다

[%- (myvar > 4) ? "Value is amplified" : (myvar < 1) ? "Value is Deleted" : "Normal Value" -%] 
속도와 관련이 있습니다 .. – user1462804

+0

도와 드리겠습니다. 답을 똑딱 거리거나 상향 투표하는 것을 고려하십시오. 그것이 StackOverflow가 작동하는 방법입니다. – RET