Изградба на листа на итератори Со Linux "foreach" команда

Кога програмира , командата foreach имплементира јамка каде што променливите на јамката ги преземаат вредностите од една или повеќе листи. Во наједноставниот случај постои една јамка променлива, varname , и една листа, листа , што е листа на вредности за доделување на varname . Аргументот на телото е Tcl скрипта. За секој елемент од списокот (по редослед од прв до последен), foreach ја одредува содржината на елементот на varname како ако командата lindex била искористена за да го извлече елементот, а потоа го повикува интерпретерот Tcl за извршување на телото .

Синопсис

foreach varname list body
foreach varlist1 list1 ? varlist2 list2 ... ? тело

Дискусија

Во општ случај, може да има повеќе од една листа на вредности (на пример, листа 1 и листа2 ), и секоја листа на вредности може да биде поврзана со листа на променливи на јамки (на пример, varlist1 и varlist2 ). За време на секоја повторување на јамката, на променливите на секоја варијанта се доделуваат последователни вредности од соодветната листа . Вредностите во секоја листа се користат по редослед од прво до последно, и секоја вредност се користи точно еднаш. Вкупниот број на итерации на јамки е доволно голем за да ги искористи сите вредности од сите списоци на вредности. Ако листата на вредности не содржи доволно елементи за секоја од неговите променливи на јамки во секоја итерација, се користат празни вредности за недостасува елементи.

Изјавите за прекин и продолжување може да се повикаат внатре во телото , со ист ефект како и во командата за. Нарачката возвраќа празна низа.

Примери

Следната јамка користи i и j како јамка променливи за да се повтори преку пара елементи на една листа.

set x {} foreach {ij} {abcdef} {lappend x $ j $ i} # Вредноста на x е "badcfe" # Постојат 3 повторувања на јамката.

Следната јамка користи i и j за паралелно препраќање на два листи.

set x {} foreach i {abc} j {defg} {lappend x $ i $ j} # Вредноста на x е "adbecf {} g" # Постојат 4 повторувања на јамката.

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

set x {} foreach i {abc} {jk} {defg} {lappend x $ i $ j $ k} # Вредноста на x е "adebfgc {} {}" # Постојат 3 повторувања на јамката.

Белешки

Неколку поврзани команди работат со foreach, вклучувајќи:

Бидејќи нивоата на дистрибуција на Линукс и нивото на јадрото се разликуваат, користете команда за човекот ( % man ) за да видите како командата специјално се користи на вашиот компјутер .