Skip to main content

Construir Iteradores de Lista com o Comando Linux "foreach"

Creando Iterador en Java (Junho 2026)

Creando Iterador en Java (Junho 2026)
Anonim

Ao programar, opara cada comando implementa um loop onde as variáveis ​​de loop assumem os valores de uma ou mais listas. No caso mais simples, existe uma variável de loop, varname e uma lista Lista , que é uma lista de valores a serem atribuídos a varname . o corpo argumento é um script Tcl. Para cada elemento de Lista (em ordem do primeiro ao último),para cada atribui o conteúdo do elemento para varname como se olindexcomando foi usado para extrair o elemento, então chama o intérprete Tcl para executar corpo .

Sinopse

para cada corpo da lista varname

para cada varlist1 list1 ? varlist2 list2 … ? corpo

Discussão

Em um caso geral, pode haver mais de uma lista de valores (por exemplo, lista1 e lista2 ), e cada lista de valores pode ser associada a uma lista de variáveis ​​de loop (por exemplo, varlist1 e varlist2 ). Durante cada iteração do loop, as variáveis ​​de cada varlist são atribuídos valores consecutivos do correspondente Lista . Valores em cada Lista são usados ​​em ordem do primeiro ao último, e cada valor é usado exatamente uma vez. O número total de iterações de loop é grande o suficiente para usar todos os valores de todas as listas de valores. Se uma lista de valores não contiver elementos suficientes para cada uma de suas variáveis ​​de loop em cada iteração, os valores vazios serão usados ​​para os elementos ausentes.

opausa econtinuar declarações podem ser invocadas dentro corpo , com o mesmo efeito que no para comando. O foreach retorna uma string vazia.

Exemplos

O loop a seguir usa Eu e j como variáveis ​​de loop para iterar sobre pares de elementos de uma única lista.

set x {} foreach {i j} {a b c d e f} {voltar x $ j $ i} # O valor de x é "b a d c f e" # Existem 3 iterações do loop.

O próximo loop usa Eu e j para iterar mais de duas listas em paralelo.

set x {} foreach i {a b c} j {d e f g} {voltar x $ i $ j} # O valor de x é "a d b e c f {} g" # Existem 4 iterações do loop.

Os dois formulários são combinados no exemplo a seguir.

set x {} foreach i {a b c} {jk} {d e f g} {passar x $ i $ j $ k} # O valor de x é "a d e b f g c {} {}" # Existem 3 iterações do loop.

Notas

Vários comandos relacionados funcionam compara cada Incluindo:

  • para (n)
  • enquanto (n)
  • quebrar (n)
  • continue (n)

Como a distribuição do Linux e os níveis de liberação do kernel variam, use o homem comando ( % homem ) para ver como um comando é especificamente usado em seu computador em particular.