Жагсаалтуудыг бий болгох Линукс "foreach" командыг ашиглана уу

Программчлах үед foreach тушаал нь давталтын хувьсагчдыг нэг буюу түүнээс олон жагсаалтаас үнэлдэг давталтыг гүйцэтгэдэг. Хамгийн хялбар тохиолдолд нэг давталтын хувьсагч, varname , нэг жагсаалт, жагсаалт , энэ нь varname- д хуваарилах утгуудын жагсаалт юм. Биеийн аргумент бол Tcl скрипт юм. Жагсаалтын элемент бүрийн хувьд (эхлээд хүртэлх хугацаанд) элементүүдийн агуулгыг элемент рүү шилжүүлэхийн тулд элементийн агуулгыг элемент рүү задлахад ашиглаж байсан бөгөөд Tcl хэлмэрчийг биеэ гүйцэтгэх гэж дууддаг.

Ерөнхий агуулга

varname жагсаалтын биеийг таниулах
foreach varlist1 list1 ? varlist2 list2 ... ? бие махбодь

Хэлэлцүүлэг

Ерєнхий тохиолдолд нэгээс дээш тооны утга бїхий жагсаалт (жишээ нь, list1 ба list2 ) байж болох бєгєєд їнэлгээний жагсаалт бїр давталтын хувьсагчдын жагсаалт (жишээлбэл, varlist1 болон varlist2 ). Дугуйн давталт бүрийн давтагдашгүй нөхцөл байдал, тэдгээрийн хувьсагчдыг харгалзах жагсаалтаас дараалсан утгуудаар хуваарилдаг. Жагсаалт бүр дэх утгууд нь эхний ба хамгийн сүүлд дарааллаар хэрэглэгддэг бөгөөд утга бүрийг яг нэг удаа ашигладаг. Дуусах давталтын тоо нь бүх утгын жагсаалтаас бүх утгыг ашиглахад хангалттай том байна. Хэрэв утгын жагсаалт нь давталт бүрийн давталтын хувьсагч бүрт хангалттай элемент агуулаагүй бол алга болсон элементүүдэд хоосон утгыг ашигладаг.

Хугацаа ба тасралтгүй үйлдлийг дотооддоо ажиллуулж болно. F f нь хоосон мөрийг буцаана.

Жишээ нь

Дараах давталт i ба j нь нэг жагсаалт дахь хос элементийг давтахдаа давталтын хувьсагчийг ашигладаг.

set 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 {} foreach i {abc} {jk} {defg} {lappend x $ i $ j $ k} # x утга нь "adebfgc {} {}" # давталтын 3 давтац байна.

Тэмдэглэл

Холбогдох хэд хэдэн холбогдох тушаалууд нь:

Линукс тархац ба цөмийн хувилбарын түвшингүүд өөр өөр байдаг тул тушаалын командыг таны компьютер дээр тусгайлан ашиглахын тулд man тушаал ( % man ) ашиглана.