Build List Iteratorok A Linux "foreach" paranccsal

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:

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 .