Build List Iterators Mei de Linux "foreach" Command

As programmearring ynstallearret it kommando foarôfgeande in loop wêrby't de loop fariabelen de wearden fan ien of mear listen oannimme. Yn it ienfâldige gefal is der in loop fariant, varname , en ien list, list , dat is in list mei wearden om varname te jaan . It lichem argumint is in Tcl skript. Foar elke list fan eleminten ( ynstee fan earste oant lêste) befestiget de ynhâld fan it elemint nei varname as soe it lindex kommando brûkt wurde om it elemint te ûntfangen, dan neamt de Tcl-interpreter om it lichem út te fieren.

Synopsis

foreach varname list lichaam
foreach varlist1 list1 ? varlist2 list2 ... ? lichem

Diskusje

Yn in algemiene gefal kin der mear as ien weardelist wêze (bgl. List1 en list2 ), en elke weardelist kin tagelyk wurde mei in list fan loopvariablen (bgl. Varlist1 en varlist2 ). Tidens elke ytteraasje fan 'e loop wurde de fariabelen fan elke varlist opfolgjende wearden fan' e oerienkommende list taheare . Werte yn elke list wurde brûkt yn earste ynstelde regel, en elke wearde wurdt krekt ien kear brûkt. It totaal tal loop iteraasjes is grut genôch om alle wearden fan alle weardelisten te brûken. As in weardelist net genôch eleminten befettet foar elk fan syn loopvariablen yn elke ytteraasje, wurde lege wearden brûkt foar de ûntbrekkende eleminten.

De brek en trochgeande ferklearrings kinne yn it lichem berekkene wurde, mei deselde effekt as yn it kommando. De f oreach jout in lege string werom.

Foarbylden

De folgjende loop brûkt i en j as loopvariablen om it pear fan eleminten fan in single-list te ymportearjen.

set x {} foreach {ij} {abcdef} {lappend x $ j $ i} # De wearde fan x is "badcfe" # Der binne 3 iteraasjes fan 'e loop.

De folgjende loop brûkt i en j om elke twa listen parallel te iteren.

set x {} foreach i {abc} j {defg} {lappend x $ i $ j} # De wearde fan x is "adbecf {} g" # Der binne 4 iteraasjes fan 'e loop.

De twa foarmen kombinearje yn it folgjende foarbyld.

set x {} foreach i {abc} {jk} {defg} {lappend x $ i $ j $ k} # De wearde fan x is "adebfgc {} {}" # Der binne 3 iteraasjes fan 'e loop.

Notysjes

Ferskate ferlykbere kommando's wurkje mei foarholle ynklusyf:

Om't Linux-distribúsje- en kernel-frijlizzende nivo's ferdwine, brûk de man kommando ( % man ) om te sjen hoe't in kommando spesifyk brûkt wurdt op jo bepaalde komputer .