Uma expressão For é um loop ou uma declaração condicionalmente repetitiva.
Uma condição For é especialmente adequada para loops em situações nas quais a repetição incondicional é necessária. De modo oposto, situações que exigem a repetição condicional podem ser controladas de forma mais eficaz com o uso de uma expressão While.
O valor da expressão For corresponde ao valor da última lista de avaliação que foi estimada ou false (0).
A condição For inicializa uma variável FormCalc que controla a ação de loop.
Na variante upto, o valor da variável de loop será repetido desde a expressão inicial até a final, em incrementos de expressões Step. Se a expressão Step for omitida, o incremento Step assumirá 1 como padrão.
Na variante downto, o valor da variável de loop será repetido desde a expressão inicial até a final, em decrementos de expressões Step. Se a expressão Step for omitida, o decremento Step assumirá -1 como padrão.
Repetições do loop são controladas pelo valor da expressão End. Antes de cada repetição, a expressão End é avaliada e comparada à variável de loop. Se o resultado for true (1), a lista de expressões será avaliada. Após cada avaliação, a expressão Step é avaliada e adicionada à variável de loop.
Antes de cada repetição, a expressão End é avaliada e comparada à variável de loop. Além disso, após cada avaliação da condição Do, a expressão Step é avaliada e adicionada à variável de loop.
Um loop For terminará quando a expressão Start tiver ultrapassado a expressão End. A expressão Start pode ultrapassar a expressão End em direção ascendente, com o uso de upto, ou em direção descendente, com o uso de downto.
Expressão
|
Sintaxe
|
Retorna
|
For
|
for variable = start expression
(upto | downto ) end expression
(step step expression ) do
expression list
endfor
As expressões Start, End e Step devem ser simples.
|
O resultado da lista de expressões associada à condição Do.
|
No exemplo a seguir, os valores dos elementos são adicionados a uma lista suspensa a partir de um arquivo XML com o uso do método addItem para todos os elementos XML listados em list1:
var List = ref(xfa.record.lists.list1)
for i=0 upto List.nodes.length - 1 step 2 do
$.addItem (List.nodes.item(i).value,"")
endfor