Linux құралын жасау «foreach» пәрменімен

Бағдарламалау кезінде foreach командасы цикл айнымалы мәндерінің бір немесе бірнеше тізімдерден мәндерді қабылдайтын циклды орындайды. Ең қарапайым жағдайда бір айнымалы айнымалы, варнам және бір тізім тізімі бар , ол варнаға тағайындайтын мәндердің тізімі болып табылады. Дене дәлелі - бұл Tcl сценарийі. Тізімнің әрбір элементі үшін (біріншіден соңғыге дейін), foreach элементінің мазмұнын элементті шығару үшін lindex пәрмені пайдаланылғандай, внутри атына тағайындайды, одан кейін Tcl аудармашыды денені орындау үшін шақырады.

Синопсис

foreach тізім элементі
foreach varlist1 list1 ? varlist2 list2 ... ? денесі

Талқылау

Жалпы жағдайда бірден көп мәндер тізімі болуы мүмкін (мысалы, list1 және list2 ) және әрбір мән тізімінде айнымалы айнымалылардың тізімі бар (мысалы, varlist1 және varlist2 ). Циклдің әрбір иерархиясы кезінде, әрбір бар тізімнің айнымалылары тиісті тізімнен дәйекті мәндер тағайындалады. Әр тізімдегі мәндер біріншіден соңғыге дейін пайдаланылады және әрбір мән бір рет пайдаланылады. Циклдың итерациясының жалпы саны барлық мәндер тізімінен барлық мәндерді қолдануға жеткілікті үлкен. Мәндер тізімінде әр иерарда әрбір айнымалы айнымалылар үшін жеткілікті элементтер болмаса, бос мәндер жоқ элементтер үшін пайдаланылады.

Үзіліс және жалғастыру туралы мәлімдемелерді дене үшін де, әмір үшін де әсер етуі мүмкін. F oreach бос жолды қайтарады.

Мысалдар

Келесі цикл 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} # х мәні «adbecf {} g» # циклінің 4 итерациясы бар.

Төмендегі мысалда екі нысан біріктіріледі.

x {} {defg} {lappend x $ i $ j $ k} # x мәнін орнатыңыз {adebfgc {} {} «# циклінің 3 итерациясы бар.

Ескертулер

Бірнеше байланысты бұйрықтар foreach- пен жұмыс істейді:

Linux тарату және ядро ​​шығару деңгейлері өзгергендіктен, пәрменіңіз нақты компьютерде қалай арнайы қолданылғанын көру үшін man командасын ( % man ) пайдаланыңыз.