Izradi listu Iteratori Sa Linuxom "foreach" Command

Kod programiranja , foreach komanda implementira petlju gdje varijable petlje preuzima vrijednosti sa jedne ili više listi. U najjednostavnijem slučaju postoji jedna promenljiva petlje, varname i jedna lista, lista , to je lista vrijednosti za dodjelu varname-u . Argument tijela je Tcl skripta. Za svaki element liste (po redu od prvog do poslednjeg), foreach dodjeljuje sadržaj elementa varnom kao da je korištena naredba lindex za izvlačenje elementa, a zatim poziva Tcl tumača za izvršavanje tijela .

Sinopsis

foreach varname list body
foreach varlist1 list1 ? varlist2 list2 ... ? telo

Diskusija

U opštem slučaju, može biti više od jedne liste vrijednosti (npr. List1 i list2 ), a svaka lista vrijednosti može biti povezana s listom varijabli petlje (npr. Varlist1 i varlist2 ). Tokom svake iteracije petlje, varijablama svakog varlistora dodeljena su uzastopne vrijednosti sa odgovarajuće liste . Vrednosti na svakoj listi se koriste u rasporedu od prvog do poslednjeg, a svaka vrijednost se koristi tačno jednom. Ukupan broj iteracija petlje je dovoljno veliki da iskoristi sve vrijednosti sa svih listi vrijednosti. Ako lista vrijednosti ne sadrži dovoljno elemenata za svaku njegovu promenljivu petlje u svakoj iteraciji, prazne vrijednosti se koriste za nedostajuće elemente.

Izjave o prekidu i nastavku mogu se pozvati unutar tela , sa istim efektom kao iu naredbi za. F oreach vraća prazan string.

Primjeri

Sledeća petlja koristi i i j kao varijable petlje da iteriše preko parova elemenata jedne liste.

set x {} foreach {ij} {abcdef} {lappend x $ j $ i} # Vrednost x je "badcfe" # Postoji 3 iteracije petlje.

Sledeća petlja koristi i i j za paralelno ponovljavanje preko dva lista.

set x {} foreach i {abc} j {defg} {lappend x $ i $ j} # Vrednost x je "adbecf {} g" # Postoji 4 iteracije petlje.

Dva oblika se kombinuju u sledećem primeru.

set x {} foreach i {abc} {jk} {defg} {lappend x $ i $ j $ k} # Vrednost x je "adebfgc {} {}" # Postoji 3 iteracije petlje.

Napomene

Nekoliko povezanih komandi rade sa foreach uključujući:

Zbog toga što se Linux distribucija i nivoi oslobađanja kernela razlikuju, koristite naredbu man ( % man ) da biste videli kako se komanda posebno koristi na vašem računaru .