Izradite Popis Iteratori s Linuxom "foreach" Command

Prilikom programiranja , foreach naredba implementira petlju u kojoj varijable petlje preuzmu vrijednosti iz jednog ili više popisa. U najjednostavnijem slučaju postoji jedna varijabla petlje, varname i jedan popis, popis , koji je popis vrijednosti dodijeliti varname . Argument tijela je Tcl skripta. Za svaki element popisa (od prvog do posljednjeg) foreach dodjeljuje sadržaj elementa varname kao da je naredba lindex upotrijebljena za izdvajanje elementa, zatim poziva tcl tumača da izvrši tijelo .

Sinopsis

popis tijela za popis varname
foreach varlist1 list1 ? varlist2 popis2 ... ? tijelo

Rasprava

U općem slučaju može postojati više od jednog popisa vrijednosti (npr. List1 i list2 ), a svaki popis vrijednosti može se povezati s popisom varijabli petlje (npr. Varlist1 i varlist2 ). Tijekom svake iteracije petlje, varijable svakog varlista dodjeljuju se uzastopne vrijednosti iz odgovarajućeg popisa . Vrijednosti u svakom popisu koriste se od prvog do posljednjeg, a svaka vrijednost se koristi točno jednom. Ukupni broj iteracija petlje je dovoljno velik da koristi sve vrijednosti iz svih popisa vrijednosti. Ako popis vrijednosti ne sadrži dovoljno elemenata za svaku od svojih varijabli petlje u svakoj iteraciji, prazne se vrijednosti upotrebljavaju za elemente koji nedostaju.

Odbijanje i nastavak izjava može se zazivati ​​unutar tijela , s istim učinkom kao u naredbi za. F oreach vraća prazan niz.

Primjeri

Sljedeća petlja koristi i i j kao varijable petlje kako bi iterirala preko parova elemenata jednog popisa.

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

Sljedeća petlja koristi i i j na iteraciju paralelno s dva popisa.

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

Dva oblika kombiniraju se u sljedećem primjeru.

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

Bilješke

Nekoliko povezanih naredbi radi s foreachom uključujući:

Budući da razina Linux distribucije i razine kernela varira, koristite naredbu čovjek ( % man ) kako biste vidjeli kako se naredba posebno koristi na vašem računalu .