Skip to main content

Zbuduj Iteratory za pomocą polecenia Linux "foreach"

How to make a traditional Kite (Czerwiec 2026)

How to make a traditional Kite (Czerwiec 2026)
Anonim

Podczas programowania,dla każdego polecenie implementuje pętlę, w której zmienne pętli przyjmują wartości z jednej lub więcej list. W najprostszym przypadku istnieje jedna zmienna pętli, varname i jedną listę, lista , to jest lista wartości do przypisania varname . The ciało Argument to skrypt Tcl. Dla każdego elementu lista (w kolejności od pierwszego do ostatniego),dla każdego przypisuje zawartość elementu do varname tak jakbylindexPolecenie zostało użyte do wyodrębnienia elementu, a następnie wywołuje interpreter Tcl do wykonania ciało .

Streszczenie

dla każdego treść listy varname

dla każdego lista1 lista1 ? varlist2 list2 … ? ciało

Dyskusja

W ogólnym przypadku może istnieć więcej niż jedna lista wartości (np. list1 i list2 ), a każda lista wartości może być powiązana z listą zmiennych pętli (np. varlist1 i varlist2 ). Podczas każdej iteracji pętli, zmienne każdego z nich varlist są przypisane kolejne wartości z odpowiednich lista . Wartości w każdym lista są używane w kolejności od pierwszego do ostatniego, a każda wartość jest używana dokładnie jeden raz. Całkowita liczba iteracji pętli jest wystarczająco duża, aby wykorzystać wszystkie wartości ze wszystkich list wartości. Jeśli lista wartości nie zawiera wystarczającej liczby elementów dla każdej zmiennej pętli w każdej iteracji, puste wartości są używane dla brakujących elementów.

Thezłamać idalej w środku można wywoływać wyciągi ciało , z tym samym efektem co w dla dowództwo. Foreach zwraca pusty ciąg.

Przykłady

Używa następnej pętli ja i jot jako zmienne pętli do iteracji na parach elementów z pojedynczej listy.

set x {} foreach {i j} {a b c d e f} {lappend x $ j $ i} # Wartość x to "b a d c f e" # Istnieją 3 iteracje pętli.

Używana jest następna pętla ja i jot do iteracji na dwóch listach równolegle.

set x {} foreach i {a b c} j {d e f g} {lappend x $ i $ j} # Wartość x to "a b a c f {} g" # Istnieją 4 iteracje pętli.

Te dwie formy są połączone w następującym przykładzie.

set x {} foreach i {a b c} {j k} {d e f g} {lappend x $ i $ j $ k} # Wartość x to "a d e b f g c {} {}" # Istnieją 3 iteracje pętli.

Uwagi

Działa kilka powiązanych poleceńdla każdego włącznie z:

  • dla (n)
  • podczas gdy (n)
  • przerwa (n)
  • kontynuuj (n)

Ponieważ dystrybucja Linuksa i poziomy wydania jądra różnią się, użyj skrótu mężczyzna dowództwo ( % mężczyzna ), aby zobaczyć, w jaki sposób polecenie jest konkretnie używane na danym komputerze.