Пабудова спісу итераторов З «Еогеасп» Command Linux

Пры праграмаванні , каманда Еогеаспа рэалізуе цыкл , у якім зменныя цыклу прымаюць значэння з аднаго або некалькіх спісаў. У найпростым выпадку ёсць адна зменная цыклу, VarName, і адзін спіс, спіс, то ёсць спіс значэнняў для прызначэння перем. Аргумент цела ўяўляе сабой скрыпт Tcl. Для кожнага элемента спісу (у парадку ад першага да апошняга), Еогеасп прысвойвае змесціва элемента VarName , як калі б каманда LINDEX была выкарыстаная для здабывання элемента, а затым выклікае інтэрпрэтатар Tcl для выканання цела.

канспект

Еогеасп спіс VarName цела
Еогеасп varlist1 песни1? varlist2 песни2 ...? цела

абмеркаванне

У агульным выпадку, можа быць больш , чым адзін спіс значэнняў (напрыклад, песни1 і песни2), і кожны спіс значэнняў можа быць звязаны са спісам зменных цыклу (напрыклад, varlist1 і varlist2). Падчас кожнай ітэрацыі цыклу, зменныя кожнага прысвойваюцца спісе зменных паслядоўных значэнняў з адпаведнага спісу. Значэння ў кожным спісе выкарыстоўваюцца ў парадку ад першага да апошняга, і кожнае значэнне выкарыстоўваецца толькі адзін раз. Агульная колькасць ітэрацый цыклу з'яўляецца дастаткова вялікім, каб выкарыстоўваць усе значэння з усіх спісаў значэнняў. Калі спіс значэнняў не ўтрымлівае дастатковую колькасць элементаў для кожнага з пераменнага цыкла ў кожнай ітэрацыі, пустыя значэння выкарыстоўваюцца для адсутных элементаў.

Выказванні перапынку і працягнуць могуць быць выкліканыя ўнутры цела, з тым жа эфектам , як і ў для каманды. Е oreach вяртае пусты радок.

прыкладаў

Наступны цыкл выкарыстоўвае I і J ў якасці пераменнага цыкла для перабору пара элементаў аднаго спісу.

Мноства х {} {Еогеасп IJ} {} {ABCDEF lappend х $ J $ I} # Значэнне х роўна "badcfe" # Ёсць 3 ітэрацыі цыклу.

Наступны цыкл выкарыстоўвае я і J перабраць два спісу паралельна.

набор х {} {Еогеасп я аЬс} J {DEFG} {lappend х $ I $ J} # Значэнне х роўна "adbecf {} г" # Ёсць 4 ітэрацыі цыклу.

Гэтыя дзве формы аб'яднаны ў наступным прыкладзе.

набор х {} {Еогеасп я аЬс} {} {JK DEFG} {lappend х $ I $ J $ да} # Значэнне х роўна "adebfgc {} {}" # Ёсць 3 ітэрацыі цыклу.

нататкі

Некаторыя каманды , звязаныя працы з Еогеасп ў тым ліку:

Паколькі размеркаванне Linux ўзроўні і ядро-рэліз адрозніваюцца, выкарыстоўвайце каманду чалавека (%) чалавек , каб паглядзець , як каманда спецыяльна выкарыстоўваецца на вашым канкрэтным кампутары .