условный оператор в Скорости

К сожалению, это не неуязвимо для региональных настроек, но это делает то, что Вы хотите.

set hour=%time:~0,2%
if "%time:~0,1%"==" " set hour=0%time:~1,1%
set _my_datetime=%date:~10,4%-%date:~4,2%-%date:~7,2%_%hour%%time:~3,2%

Удивительный материал можно найти на Википедия .

11
задан mgrbsk 21 November 2012 в 05:58
поделиться

2 ответа

Исходя из опыта и чтения Справочника VTL , сделать это невозможно. Если бы у вас было много подобных заданий, возможно, вы могли бы посмотреть на определение своего собственного велосимакро, чтобы попытаться избежать повторения if else.

Например, если макрос печатает только одну строку, вы можете сделать следующее:

#set ($name = "#condOpt($args.get(0), "default")")

двойные кавычки вокруг вызова макроса важны, поскольку это означает, что правая часть #set анализируется.

7
ответ дан 3 December 2019 в 10:04
поделиться

В итоге я сделал то, что вы сказали, Марк:

#macro(condOp $check, $default)
    #if ($check == "")
        $default
    #else
        $check
    #end
#end

И тогда я могу назвать это так:

#set ($name = "#condOp($args.get(0), 'default')")
3
ответ дан 3 December 2019 в 10:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: