Skip to main content

Build List Iterators Linuxin "foreach" -komennolla

how to install and use SiteBroker Tools (Kesäkuu 2026)

how to install and use SiteBroker Tools (Kesäkuu 2026)
Anonim

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.