Linux ro'yxatini yaratish "foreach" buyrug'i bilan

Dasturlash vaqtida foreach buyrug'i loop o'zgaruvchilar bir yoki bir nechta ro'yxatdagi qiymatlarni qabul qilgan loopni ijro etadi. Eng sodda vaziyatda bir döngünün o'zgaruvchisi, varname va bitta ro'yxat, ro'yxat , ya'ni varname uchun tayinlangan qiymatlar ro'yxati mavjud. Tana argumenti Tcl buyrug'i. Ro'yxatning har bir elementi uchun (dastlabki holatga ko'ra) foreach elementni tarkibini lindex buyrug'ini elementni chiqarish uchun ishlatganidek, varnamega belgilaydi , so'ngra tanani bajarish uchun Tcl interpreterni chaqiradi.

Sinopsis

foreach varname ro'yxati tanasi
foreach varlist1 list1 ? varlist2 list2 ... ? tanasi

Munozara

Umumiy holatda bir nechta qiymatlar ro'yxati bo'lishi mumkin (masalan, list1 va list2 ) va har bir qiymatlar ro'yxati loop o'zgaruvchilar ro'yxati bilan bog'lanishi mumkin (masalan, varlist1 va varlist2 ). Ilovaning har bir iteratsiyasi vaqtida har bir varlistning o'zgaruvchilari mos keladigan ro'yxatda ketma-ket qiymatlar bilan belgilanadi. Har bir ro'yxatdagi qiymatlar birinchi marta oxirigacha ishlatiladi va har bir qiymat bir marta ishlatiladi. Loop yinelemelerinin umumiy soni barcha qiymatlar barcha qiymatlar ro'yxatidan foydalanish uchun etarlicha katta. Agar qiymatlar ro'yxatida har bir iteratsiyada har bir loop o'zgaruvchisi uchun etarli element bo'lmasa, yo'qolgan elementlar uchun bo'sh qiymatlar ishlatiladi.

Tanaffus va davomiy so'zlar tananing ichki qismida, xuddi buyruqlardagi kabi ta'sirga ega bo'lishi mumkin. Feyshek bo'sh satrni qaytaradi.

Misollar

Quyidagi intervalda i va j tog 'o'zgaruvchilari sifatida bitta ro'yxat elementlarining juftlari ustidan qayta ishlash uchun foydalaniladi.

x {} foreach {ij} {abcdef} {lappend x $ j $ i} # x ning qiymati "badcfe" dir. # Loopning 3 ta iteratsiyasi mavjud.

Keyingi pastadir i va j parallel ravishda ikkita ro'yxatga kiritilishi uchun foydalanadi.

x {} funktsiyasini bajarish x {} funksiyasini bajarish {x) x ning qiymati "adbecf {} g" # loopning 4 iteratsiyasi mavjud.

Ikki shakllar quyidagi misolda birlashtirilgan.

x = {} {defg} {x = i x $ i $ j $ k} # x ning qiymati "adebfgc {} {}" # loopning 3 iteratsiyasi mavjud.

Eslatmalar

Foreach bilan bir necha tegishli buyruqlar, shu jumladan:

Linux tarqatish va yadrolarni chiqarib yuborish darajalari o'zgarganligi sababli, buyruqni maxsus kompyuteringizda qanday ishlatilishini ko'rish uchun man buyrug'ini ( % man ) foydalaning.