Pagtukod og mga Lister nga Mga Iterator Uban sa Linux "foreach" Command

Sa diha nga programming , ang foreach command nagpatuman sa usa ka loop diin ang mga kausaban sa loop nag-angkon sa mga mithi gikan sa usa o labaw pa nga mga lista. Sa pinakayano nga kaso adunay usa ka variable sa loop, varname , ug usa ka listahan, listahan , nga usa ka lista sa mga mithi nga ibutang sa varname . Ang argumento sa lawas usa ka Tcl script. Alang sa matag elemento sa lista (gikan sa una hangtod sa kataposan), ang foreach mag-assign sa sulod sa elemento ngadto sa varname ingon nga ang lindex command gigamit sa pagkuha sa elemento, dayon gitawag ang Tcl interpreter aron ipatuman ang lawas .

Sinopsis

Ilista ang lista sa varname nga lawas
foreach varlist1 list1 ? varlist2 list2 ... ? lawas

Panaghisgutan

Sa usa ka heneral nga kaso, adunay labaw pa sa usa ka lista sa bili (eg, list1 ug list2 ), ug ang matag listahan sa bili mahimo nga may kalabutan sa lista sa mga variable sa loop (eg, varlist1 ug varlist2 ). Atol sa matag pag-ulog sa loop, ang mga variable sa matag varlist gi-assign nga sunod-sunod nga mga bili gikan sa katugbang nga lista . Ang mga bili sa matag lista gigamit sa pagkahan-ay gikan sa una hangtud sa katapusan, ug ang matag bili gigamit sa makausa. Ang kinatibuk-ang gidaghanon sa mga pag-usab sa lungag igo nga igo aron gamiton ang tanang mga bili gikan sa tanan nga mga lista sa bili. Kon ang usa ka listahan sa bili walay igo nga mga elemento alang sa matag usa sa mga variable sa loop sa matag pag-uli, ang walay sulod nga mga bili gamiton alang sa nawala nga mga elemento.

Ang break ug padayon nga mga pahayag mahimo nga tawgon sa sulod sa lawas , nga adunay susama nga epekto sama sa alang sa sugo. Ang f oreach nagbalik sa usa ka walay sulod nga hilo.

Mga pananglitan

Ang mosunod nga loop naggamit sa i ug j isip mga kausaban sa loop aron iterate ang mga pares sa mga elemento sa usa ka listahan.

set x {} foreach {ij} {abcdef} {lappend x $ j $ i} # Ang bili sa x mao ang "badcfe" # Adunay 3 ka mga pag-usab sa loop.

Ang sunod nga loop naggamit sa i ug j sa pag-usab sa duha ka mga listahan nga susama.

set x {} foreach i {abc} j {defg} {lappend x $ i $ j} # Ang bili sa x mao ang "adbecf {} g" # Adunay 4 nga mga pag-usab sa laang.

Ang duha ka mga porma gihiusa sa mosunod nga pananglitan.

set x {} foreach i {abc} {jk} {defg} {lappend x $ i $ j $ k} # Ang bili sa x mao ang "adebfgc {} {}" # Adunay 3 ka mga pag-usab sa laang.

Mga nota

Daghang may kalabutan nga mga komand nga nagtrabaho uban sa foreach lakip ang:

Tungod kay ang pag-apud-apod sa Linux ug mga lebel sa kernel-release nagkalain, gamiton ang command sa tawo ( % man ) aron masuta kon unsa ang usa ka sugo nga gigamit sa espesipikong paagi sa imong partikular nga computer .