Skip to main content

Build List Iterators Med Linux "Foreach" Command

Python Django Tutorial: Full-Featured Web App Part 1 - Getting Started (Juni 2026)

Python Django Tutorial: Full-Featured Web App Part 1 - Getting Started (Juni 2026)
Anonim

Ved programmering sættesfor hver kommando implementerer en sløjfe, hvor loop-variablerne antager værdierne fra en eller flere lister. I det enkleste tilfælde er der en loop variabel, varname , og en liste, liste , det er en liste over værdier at tildele til varname . Det legeme argument er et Tcl script. For hvert element af liste (i rækkefølge fra først til sidste)for hver tildeler elementets indhold til varname som omLindexkommandoen var blevet brugt til at udtrække elementet, så kaldes Tcl-tolken til at udføre legeme .

Synopsis

for hver varname liste body

for hver varlist1 liste1 ? varlist2 list2 … ? legeme

Diskussion

I et generelt tilfælde kan der være mere end en værdi liste (f.eks. liste1 og list2 ), og hver værdi liste kan associeres med en liste over loop variabler (f.eks. varlist1 og varlist2 ). Under hver iteration af sløjfen, variablerne af hver varlist tildeles fortløbende værdier fra den tilsvarende liste . Værdier i hver liste bruges i rækkefølge fra først til sidste, og hver værdi bruges nøjagtigt en gang. Det samlede antal loop-iterationer er stort nok til at bruge alle værdierne fra alle værdilisterne. Hvis en værdelliste ikke indeholder tilstrækkelige elementer til hver af sine sløjfevariabler i hver iteration, bruges tomme værdier for de manglende elementer.

Detpause ogBlive ved udsagn kan påberåbes inde legeme , med samme virkning som i til kommando. Foreach returnerer en tom streng.

eksempler

Følgende sløjfe bruger jeg og j som loop variable til at gentage over par af elementer i en enkelt liste.

sæt x {} foreach {i j} {a b c d e f} {lappend x $ j $ i} # Værdien af ​​x er "b a d c f e" # Der er 3 iterationer af sløjfen.

Den næste sløjfe bruger jeg og j at gentage over to lister parallelt.

sæt x {} foreach i {a b c} j {d e f g} {lappend x $ i $ j} # Værdien af ​​x er "a d b e c f {} g" # Der er 4 iterationer af sløjfen.

De to former er kombineret i det følgende eksempel.

sæt x {} foreach i {a b c} {j k} {d e f g} {lappend x $ i $ j $ k} # Værdien af ​​x er "a d e b f g c {} {}" # Der er 3 iterationer af sløjfen.

Noter

Flere relaterede kommandoer arbejder medfor hver inklusive:

  • for (n)
  • while (n)
  • pause (n)
  • fortsætte (n)

Fordi Linux distribution og kernel-release niveauer varierer, skal du bruge mand kommando ( % mand ) for at se, hvordan en kommando bruges specifikt på din bestemte computer.