Build Lista Iterators Me Linux "foreach" Command

Kur programohet , komanda foreach zbaton një loop ku variablat loop marrin vlerat nga një ose më shumë lista. Në rastin më të thjeshtë ekziston një variabël loop, varname , dhe një listë, lista , që është një listë e vlerave që duhet t'i caktohet varname . Argumenti i trupit është një skenar Tcl. Për çdo element të listës (në mënyrë që nga i pari në të fundit), foreach cakton përmbajtjen e elementit të varname sikur komanda lindex të ishte përdorur për nxjerrjen e elementit, atëherë e quan përkthyesi Tcl të ekzekutojë trupin .

përmbledhje

trupi i listës së varnames
foreach varlist1 list1 ? varlist2 list2 ... ? trup

diskutim

Në një rast të përgjithshëm, mund të ketë më shumë se një listë vlerash (p.sh. list1 dhe list2 ) dhe çdo listë vlerash mund të shoqërohet me një listë të variablave loop (p.sh. varlist1 dhe varlist2 ). Gjatë secilit përsëritje të lak, variablat e secilit varlist u caktohen vlerave të njëpasnjëshme nga lista përkatëse. Vlerat në secilën listë përdoren në mënyrë që nga i pari në të fundit, dhe secila vlerë përdoret saktësisht një herë. Numri i përgjithshëm i iteracioneve loop është mjaft i madh për të përdorur të gjitha vlerat nga të gjitha listat e vlerës. Nëse një listë vlerash nuk përmban elemente të mjaftueshme për secilën nga variablet e tij në çdo përsëritje, vlerat e zbrazëta përdoren për elementet që mungojnë.

Deklaratat e thyerjes dhe të vazhdimit mund të thirren brenda trupit , me të njëjtin efekt si në komandën për . F oreach kthen një varg bosh.

shembuj

Lak në vijim përdor i dhe j si variabla loop për të përsëritur mbi palë elemente të një liste të vetme.

vendos x {} foreach {ij} {abcdef} {lappend x $ j $ i} # Vlera e x është "badcfe" # Ka 3 përsëritje të lak.

Pika tjetër përdor i dhe j për të përsëritur në dy lista paralelisht.

vendos x {} foreach i {abc} j {defg} {lappend x $ i $ j} # Vlera e x është "adbecf {} g # Ka 4 përsëritje të lak.

Të dy format janë të kombinuara në shembullin e mëposhtëm.

vendos x {} foreach i {abc} {jk} {defg} {lappend x $ i $ j $ k} # Vlera e x është "adebfgc {} {}" # Ka 3 përsëritje të lak.

Shënime

Disa komanda të ndërlidhura punojnë me foreach duke përfshirë:

Për shkak se shpërndarja e Linux dhe nivelet e lëshimit të kernel ndryshojnë, përdorni komandën e njeriut ( % man ) për të parë se si një komandë është përdorur në mënyrë specifike në kompjuterin tuaj të veçantë.