quarta-feira, 18 de dezembro de 2013

18.05.04.06 Instrução for-each

 

Exemplo

 

 

for currObject range element_list do

  result &:= " " & str(currObject);

end for;

 

 

 

Semântica:

 

É analisado o primeiro elemento da coleção.

Se este elemento for "empty" (vazio) a instrução "for-each" é finalizada.

Caso contrário, o primeiro elemento da lista é atribuído a 'variável de controle' após "for".

Então as instruções do bloco são executadas.

Se não houver um próximo elemento a instrução "for-each" é finalizada.

Caso contrário, o próximo elemento da coleção é atribuído a 'variável de controle'.

Este ciclo de verificar o próximo elemento e executar é repetido até que não haja mais elementos na coleção.

 

Sintaxe:

 

 

for_each_statement ::=

'for' identifier 'range' expression 'do'

  statement

'end' 'for' .

 

 

 

Declaration:

 

 

$ syntax expr: .for.().range.().do.().end.for is          -> 25;

 

const proc: for (inout reference: variable) range (in ref_list: aRefList) do

              (in proc: statement)

            end for is action "RFL_FOR";

 

const proc: for (inout baseType: variable) range (in arrayType: arr_obj) do

              (in proc: statements)

            end for is func

  local

    var integer: number is 0;

  begin

    for number range minIdx(arr_obj) to maxIdx(arr_obj) do

      variable := arr_obj[number];

      statements;

    end for;

  end func;

 

const proc: for (inout baseType: variable) range (in setType: a_set) do

              (in proc: statements)

            end for is func

  begin

    for variable range min(a_set) to max(a_set) do

      if variable in a_set then

        statements;

      end if;

    end for;

  end func;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Nenhum comentário:

Postar um comentário