Programozáskor az foreach parancs végrehajt egy hurokot, ahol a hurokváltozók egy vagy több listáról fogadják el az értékeket. A legegyszerűbb esetben van egy hurokváltozó , varname és egy lista, listája , vagyis a varnamehez hozzárendelt értékek listája. A test argumentum egy Tcl parancsfájl. A listák egyes elemeihez ( az elsőtől a végéig ) a foreach hozzárendeli az elem tartalmát varname-hoz , mintha az lindex parancsot használnák az elem kivonására, majd felhívja a Tcl interpretert test végrehajtására.
Szinopszis
foreach varname lista szervezet
foreach varlist1 list1 ? varlist2 list2 ... ? test
Vita
Egy általános esetben több értéklista lehet (pl. List1 és list2 ), és minden értéklista társítható a loop változók listájával (pl. Varlist1 és varlist2 ). A hurok minden egyes ismétlése során az egyes varlistok változóit a megfelelő listából egymás után hozzárendelik. Az egyes listák értékeit az elsőtől az utolsóig használjuk, és minden értéket pontosan egyszer használunk. A hurok iterációinak teljes száma elég nagy ahhoz, hogy minden értéklista felhasználható legyen. Ha egy értéklista nem tartalmaz elegendő elemet minden egyes ciklusváltozóhoz, akkor az üres értékeket kell használni a hiányzó elemekhez.
A szünet és a folytatólagos kijelentések behívhatók a szervezeten belül, ugyanolyan hatással, mint a parancsban. A f oreach üres karakterláncot ad vissza.
Példák
A következő hurok az i és j ciklusváltozókat használja, hogy egy listán szereplő elemek páránként iteráljanak.
set x {} foreach {ij} {abcdef} {lappend x $ j $ i} # Az x értéke "badcfe" # A huroknak 3 iterációja van.A következő hurok i és j használatával párhuzamosan párhuzamosan párhuzamosan sorolja fel a két listát.
set x {} foreach i {abc} j {defg} {lappend x $ i $ j} # Az x értéke "adbecf {} g" # A ciklusnak 4 iterációja van.A két formát a következő példában kombináljuk.
set x {} foreach i {abc} {jk} {defg} {lappend x $ i $ j $ k} # Az x értéke "adebfgc {} {}" # A ciklusnak 3 iterációja van.Megjegyzések
Több kapcsolódó parancs működik a foreach, beleértve:
- A (n)
- míg (n)
- szünet (n)
- továbbra (n)
Mivel a Linux disztribúció és a rendszermag-kiadás szintje változik, használja a man parancsot ( % man ), hogy lássa, hogyan használják kifejezetten a parancsot az adott számítógépen .