Build List Iterators Linuxin "foreach" -komennolla

Ohjelmoinnissa foreach- komento toteuttaa silmukan, jossa silmukkamuuttujat olettavat arvot yhdestä tai useammasta luettelosta. Yksinkertaisimmassa tapauksessa on yksi silmukkamuuttuja, varname ja yksi luettelo, luettelo , joka on luettelo arvoista, jotka on osoitettava varnimiin . Kehon argumentti on Tcl-skripti. Jokaisesta listan elementistä (ensimmäisestä viimeiseen) foreach jakaa elementin sisällön varnameiksi ikään kuin lindex- komentoa olisi käytetty elementin erottamiseen , ja sitten kutsutaan Tcl-tulkki suorittamaan keho .

tiivistelmä

foreach varname list body
foreach varlist1 list1 ? varlist2 list2 ... ? ruumis

keskustelu

Yleisessä tapauksessa voi olla useampi kuin yksi arvoluettelo (esim. List1 ja list2 ), ja jokainen arvo- luettelo voidaan liittää listalle silmukan muuttujia (esim. Varlist1 ja varlist2 ). Jokaisen silmukan iteraation aikana jokaisen varlistin muuttujille annetaan peräkkäiset arvot vastaavasta luettelosta . Kunkin luettelon arvoja 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ä.

Keskeytys- ja jatkuvuuslausunnot voidaan kutsua ruumiin sisällä, samoin kuin komentorivillä. F oreach palauttaa tyhjän merkkijonon.

esimerkit

Seuraava silmukka käyttää i ja j silmukkamuuttujia iteroitavaksi yhden luettelon elementtien parien suhteen.

asettaa x {} foreach {ij} {abcdef} {lappend x $ j $ i} # x: n arvo on "badcfe" # Silmukassa on 3 toistoa.

Seuraava silmukka käyttää i ja j iteraatiota kahden listan rinnalla.

asettaa x {} foreach i {abc} j {defg} {lappend x $ i $ j} # Arvon x on "adbecf {} g" # Silmukassa on neljä iteraatiota.

Nämä kaksi lomaketta yhdistetään seuraavassa esimerkissä.

asettaa x {} foreach i {abc} {jk} {defg} {lappend x $ i $ j $ k} # x: n arvo on "adebfgc {} {}" # Silmukassa on 3 iteraatiota.

Huomautuksia

Useita komentokehotteita käytetään foreachin kanssa, mukaan lukien:

Koska Linux-jakelu ja ytimen julkaisutasot vaihtelevat, käytä man- komennolla ( % man ), kuinka komentoa käytetään nimenomaisesti tietyssä tietokoneessa .