Генерация кода скорости: проверьте, введен ли $ foreach? - PullRequest
0 голосов
/ 18 октября 2011

Я пытаюсь изменить файл vsl для генерации кода, чтобы проверить, действительно ли введен цикл foreach и должен ли вообще выполняться код инициализации. Я попытался java-like .length> 0, но это не работает:

myMethod() {
    #if (${reference.attributes}.length > 0)
        [some init code]

        #foreach ($attribute in ${reference.attributes})
            #some_macro($attribute)
        #end
        [some other code related to stuff created in the 
    #end
}

Какой правильный путь?

Спасибо.

Ответы [ 2 ]

4 голосов
/ 18 октября 2011

Вызовите метод size().Это будет работать как с коллекциями, так и с массивами (начиная с версии 1.6+).

#if (${reference.attributes.size()} > 0)
0 голосов
/ 18 октября 2011

#foreach ($foo in $bar)
    $foo
#end

Or if you want to iterate over a number range:

#foreach ($number in [1..34])
    $number
#end

...