Ohjelmoinnissajokaiselle komento toteuttaa silmukan, jossa silmukkamuuttujat olettavat arvot yhdestä tai useammasta luettelosta. Yksinkertaisimmassa tapauksessa on yksi silmukkamuuttuja, varName , ja yksi luettelo, lista , eli arvojen luettelo, johon haluat määrittää varName . ruumis argumentti on Tcl-skripti. Kunkin elementin lista (ensimmäisenä viimeiseksi),jokaiselle määrittää elementin sisällön kohteeseen varName ikään kuinLindexkomentoa oli käytetty poimimaan elementti, sitten kutsuu Tcl-tulkki suorittamaan ruumis .
tiivistelmä
jokaiselle varname -luettelorake
jokaiselle varlist1 list1 ? varlist2 list2 … ? ruumis
keskustelu
Yleisessä tapauksessa voi olla useampi kuin yksi arvolista (esim. list1 ja Lista2 ), ja kukin arvo- luettelo voidaan liittää listalle silmukan muuttujista (esim. varlist1 ja varlist2 ). Jokaisen silmukan iteroinnin aikana kunkin muuttujat varlist annetaan peräkkäiset arvot vastaavasta lista . Arvot kussakin lista käytetään ensimmäisenä viimeiseksi, ja jokainen arvo käytetään täsmälleen kerran. Silmukkareiden iterointien kokonaismäärä on riittävän suuri kaikkien arvolistojen kaikkien arvojen käyttämiseksi. Jos arvo-luettelossa ei ole riittävästi elementtejä jokaiselle sen silmukkamuuttujille jokaisessa iteraatiossa, tyhjiä arvoja käytetään puuttuvissa elementeissä.
tauko jajatkaa lausuntoja voidaan vedota sisälle ruumis , samoin kuin varten komento. Foreach palauttaa tyhjä merkkijonon.
esimerkit
Seuraava silmukka käyttää minä ja j koska silmukan muuttujat toistavat yhden luettelon elementtien pareista.
asettaa x {} foreach {i j} {a b c d e f} {lappend x $ j $ i} # x: n arvo on "b a d c f e" # Silmukassa on 3 iteraatiota.
Seuraava silmukka käyttää minä ja j toistetaan kahden luettelon rinnalla.
asettaa x {} foreach i {a b c} j {d e f g} {lappend x $ i $ j} # Arvon x on "d b e c f {} g" # Silmukkaa on neljä iteraatiota.
Nämä kaksi lomaketta yhdistetään seuraavassa esimerkissä.
asettaa x {} foreach i {a b c} {j k} {d e f g} {lappend x $ i $ j $ k} # x: n arvo on "d e bfg c {} {}" # Silmukassa on 3 iteraatiota.
Huomautuksia
Useat samat komennot toimivatjokaiselle mukaan lukien:
- ja (n)
- kun taas (n)
- tauko (n)
- edelleen (n)
Koska Linux-jakelu ja ytimen julkaisutaso vaihtelevat, käytä mies komento ( % mies ), miten komentoa käytetään nimenomaisesti tietyssä tietokoneessa.




