Při programování sepro každého příkaz implementuje smyčku, kde proměnné smyčky přebírají hodnoty z jednoho nebo více seznamů. V nejjednodušším případě existuje jedna proměnná smyčky, varname , a jeden seznam, seznam , to je seznam hodnot, které chcete přiřadit varname . The tělo argument je Tcl skript. Pro každý prvek seznam (v pořadí od první do poslední),pro každého přiřadí obsah elementu varname jako kdybylindexpříkaz byl použit k extrahování prvku, pak volá interpret Tcl k provedení tělo .
Synopse
pro každého varname tělo seznamu
pro každého varlist1 list1 ? varlist2 list2 … ? tělo
Diskuse
Ve všeobecném případě může být více než jeden seznam hodnot (např. seznam1 a seznam2 ) a každý seznam hodnot může být spojen se seznamem smyčkových proměnných (např. varlist1 a varlist2 ). Během každé iterace smyčky jsou proměnné každého varlist jsou přiděleny po sobě jdoucí hodnoty z odpovídajících seznam . Hodnoty v každém seznam se používají v pořadí od prvního k poslednímu a každá hodnota se používá přesně jednou. Celkový počet opakování smyček je dostatečně velký na to, aby použil všechny hodnoty ze všech seznamů hodnot. Pokud seznam hodnot neobsahuje dostatečné množství prvků pro každou ze svých proměnných smyčky v každé iteraci, pro chybějící prvky se použijí prázdné hodnoty.
Thepřestávka apokračovat výkazy mohou být vyvolány uvnitř tělo , se stejným účinkem jako v pro příkaz. Fhoře vrátí prázdný řetězec.
Příklady
Používá se následující smyčka i a j jako smyčkové proměnné pro iteraci přes dvojice prvků jednoho seznamu.
množina x {} foreach {i j} {a b c d e f} {lappend x $ j $ i} # Hodnota x je "b a d c f e" # Existují 3 iterace smyčky.
Následující smyčka používá i a j opakovat dva seznamy paralelně.
množina x {} foreach i {a b c} j {d e f g} {lappend x $ i $ j} # Hodnota x je "a d b e c f {} g" # Existují 4 iterace smyčky.
Tyto dvě formy jsou kombinovány v následujícím příkladu.
množina x {} foreach i {a b c} {j k} {d e f g} {lappend x $ i $ j $ k} # Hodnota x je "a d e b f g c {} {}" # Existují 3 iterace smyčky.
Poznámky
Několik souvisejících příkazů pracujepro každého počítaje v to:
- pro (n)
- zatímco (n)
- přestávka (n)
- pokračovat (n)
Vzhledem k tomu, že se distribuce Linuxu a úrovně uvolňování jádra liší, použijte muž příkaz ( % muž ), abyste zjistili, jak je daný příkaz konkrétně použit na vašem počítači.