Създайте списък итератори с командата "foreach" на Linux

При програмиране командата foreach изпълнява цикъл, при който променливите на веригата приемат стойностите от един или повече списъци. В най-простия случай има една променлива цикъл, varname и един списък, списък , който е списък на стойностите, които да се присвоят на varname . Аргументът на тялото е Tcl скрипт. За всеки елемент от списъка (в реда от първия до последния) foreach присвоява съдържанието на елемента на varname , сякаш командата lindex е била използвана за извличане на елемента, а след това извиква Tcl интерпретатора да изпълни body .

резюме

foreach body list varname
предимство varlist1 list1 ? varlist2 list2 ... ? тяло

дискусия

В общия случай може да има повече от един списък с стойности (напр. Списък1 и списък2 ) и всеки списък с стойности може да бъде свързан със списък от променливи на веригата (напр. Varlist1 и varlist2 ). По време на всяка итерация на цикъла, променливите на всеки varlist се присвояват последователни стойности от съответния списък . Стойностите във всеки списък се използват от първия до последния и всяка стойност се използва точно веднъж. Общият брой итерации на линия е достатъчно голям, за да използва всички стойности от всички списъци с стойности. Ако списъкът с стойности не съдържа достатъчно елементи за всяка една от променливите в цикъл във всяка итерация, за липсващите елементи се използват празни стойности.

Декларацията за прекъсване и продължаване може да бъде извикана в тялото , със същия ефект, както в командата за. Фурачът връща празен низ.

Примери

Следващият цикъл използва i и j като променливи на цикъла за итерация над двойки елементи от един списък.

задаваме x {} foreach {ij} {abcdef} {lappend x $ j $ i} # Стойността на x е "badcfe" # Има 3 повторения на цикъла.

Следващият контур използва i и j, за да прегледа паралелно над два списъка.

задаваме x {} foreach i {abc} j {defg} {lappend x $ i $ j} # Стойността на x е "adbecf {} g" # Има 4 повторения на цикъла.

Двете форми се комбинират в следващия пример.

(x) {x} {x} {x} {x} {x} {x} {x} {x} {x}

бележки

Няколко свързани команди работят с foreach, включително:

Тъй като нивата на разпространение и ядрото на Linux варират, използвайте командата man ( % man ), за да видите как точно се използва команда на вашия компютър .