Linux "foreach" Komandirliyi ilə siyahıdakı yineleyiciləri yaradın

Proqramlaşdırma zamanı foreach əmri loop dəyişənlərin bir və ya daha çox siyahıdakı dəyərləri qəbul etdiyi bir loop tətbiq edir. Ən sadə vəziyyətdə varolan adı atanacaq dəyərlərin siyahısı olan bir loop dəyişən varname və bir siyahı siyahısı var. Bədən arqumenti bir Tcl skriptidir. Siyahının hər bir elementi üçün ( ilkdən sonuna qədər), foreach elementin məzmununu varidaya verir, lindex əmrini elementdən çıxarmaq üçün istifadə olunduqdan sonra, Tcl tərcüməçisini cəsədi yerinə yetirmək üçün çağırır.

Sinopsis

foreach varname siyahısı orqanı
foreach varlist1 list1 ? varlist2 list2 ... ? bədən

Müzakirə

Ümumi hallarda, birdən artıq dəyər siyahısı ola bilər (məsələn, list1list2 ) və hər bir dəyər siyahısı loop dəyişənlərin siyahısı ilə əlaqələndirilə bilər (məsələn, varlist1varlist2 ). Döngünün hər bir təkrarlanması zamanı hər bir varlistin dəyişənləri müvafiq siyahıdan ardıcıl dəyərlər təyin edilir. Hər bir siyahıdakı dəyərlər ilkdən sonunadək istifadə olunur və hər bir dəyər tam olaraq bir dəfə istifadə olunur. Loop yinelemelerinin ümumi sayı bütün dəyərlər siyahısından bütün dəyərləri istifadə etmək üçün kifayət qədər böyükdür. Bir dəyər siyahısı hər bir iteratsiyada hər loop dəyişənləri üçün kifayət qədər elementləri içərsə, boş ədədlər üçün boş dəyərlər istifadə olunur.

Boşluqdavam bəyanatları bədən içində, əmr üçün olduğu kimi eyni təsirə malik ola bilər. Fənif boş bir qayda verir .

Nümunələr

Aşağıdakı loop, tək siyahı elementlərinin cütləri üzərində təkrarlamaq üçün loop dəyişənləri kimi ij istifadə edir.

x {} foreach {ij} {abcdef} {lappend x $ j $ i} # x dəyəri "badcfe" # Döngünün 3 iterasiyası var.

Növbəti loop ij paralel iki siyahıdan yinelemek üçün istifadə edir.

x {} foreach i {abc} j {defg} {lappend x $ i $ j} # x dəyəri "adbecf {} g" dir. # Loopun 4 iterasiyası var.

İki formu aşağıdakı nümunədə birləşdirilir.

{x} {jk} {defg} {x} x $ i $ j $ k} # x "{0} {}}" döngünün 3 yinelemesi var.

Qeydlər

Bir neçə ilə əlaqəli əmrlər foreach ilə işləyir:

Linux dağıtımı ve çekirdek salma seviyeleri farklı olduğundan, komutun xüsusi bilgisayarınızda nasıl kullanılacağını görmek üçün man komutunu ( % man ) istifadə edin.