Я хочу использовать для цикла в режиме Velocity. Я хочу взять переменную счетчика в виде скорости и петле до тех пор, пока она не станет равной. напримерДля цикла в Velocity
counter = 3
for(i=0; i< counter; i++){
...
}
Я хочу использовать для цикла в режиме Velocity. Я хочу взять переменную счетчика в виде скорости и петле до тех пор, пока она не станет равной. напримерДля цикла в Velocity
counter = 3
for(i=0; i< counter; i++){
...
}
Вы можете использовать foreach
для этого, определив диапазон и итерацию над ним.
#set($start = 0)
#set($end = 3)
#foreach($i in [$start..$end])
...
#end
Отлично, и вы может сделать #foreach ($ i в [0..10]), если вам нужен жестко закодированный цикл. – monkjack
Обратите внимание, что эти петли 4 раза, когда '$ i' находится в [0, 1, 2, 3], в отличие от цикла for в вопросе' for (i = 0; i
ответ Алекс работает отлично, но не отметить, что петли в 4 раза общее, так как начало и конец включены в Velocity #foreach
цикла. Другой способ сделать это, если вы хотите получить нулевой индекс и иметь исключительное конечное значение, заключается в использовании встроенного $foreach.index
. Если вы хотите, чтобы петли $n
раз:
#foreach($unused in [1..$n])
zero indexed: $foreach.index
#end
здесь, $unused
не используется, и мы вместо того, чтобы использовать $foreach.index
для индекса, который начинается с 0.
В случае вопрос, в $n
равно 3.
Мы начинаем диапазон в 1, как он включен, и поэтому он будет зацикливаться на $unused
, являющемся [1, 2, 3], тогда как $foreach.index
будет [0, 1, 2].
См. the user guide для получения дополнительной информации.
Хороший улов! Прошло много времени с тех пор, как я использовал скорость :) – Alex
Это [первый результат] (http://velocity.apache.org/engine/devel/vtl-reference-guide.html#aforeach_-_Loops_through_a_list_of_objects) в google для «скорости для цикла» – adarshr