Skip to main content

Bina Senarai Iterator Dengan Perintah Linux "foreach"

find (April 2025)

find (April 2025)
Anonim

Apabila pengaturcaraan,untuk setiap Perintah mengimplementasikan gelung di mana pembolehubah gelung menganggap nilai dari satu atau lebih senarai. Dalam kes yang paling mudah terdapat satu pemboleh ubah gelung, varname , dan satu senarai, senarai , itu adalah senarai nilai untuk diberikan kepada varname . The badan hujah adalah skrip Tcl. Untuk setiap elemen senarai (dari awal hingga akhir),untuk setiap menyerahkan kandungan elemen kepada varname seolah-olahlindexarahan telah digunakan untuk mengekstrak elemen, kemudian memanggil penterjemah Tcl untuk melaksanakan badan .

Sinopsis

untuk setiap senarai tubuh varname

untuk setiap senarai varlist1 ? senarai varlist2 … ? badan

Perbincangan

Dalam kes umum, boleh terdapat lebih daripada satu senarai nilai (contohnya, list1 dan list2 ), dan setiap senarai nilai boleh dikaitkan dengan senarai pembolehubah gelung (contohnya, varlist1 dan varlist2 ). Semasa setiap lelaran gelung, pembolehubah masing-masing varlist diberi nilai berturut-turut dari yang sepadan senarai . Nilai dalam setiap senarai digunakan dalam urutan dari pertama hingga terakhir, dan setiap nilai digunakan tepat sekali. Jumlah lelaran gelung cukup besar untuk menggunakan semua nilai dari semua senarai nilai. Jika senarai nilai tidak mengandungi elemen yang cukup untuk setiap pembolehubah gelungnya dalam setiap lelaran, nilai kosong digunakan untuk elemen yang hilang.

Thepecah danteruskan pernyataan boleh digunakan di dalam badan , dengan kesan yang sama seperti dalam untuk perintah. Foreach mengembalikan rentetan kosong.

Contoh

Gelung berikut digunakan i dan j sebagai pembolehubah gelung untuk mengulangi pasangan pasang elemen satu senarai.

tetapkan x {} foreach {i j} {a b c d e f} {lappend x $ j $ i} # Nilai x adalah "b a d c f e" # Terdapat 3 lelaran gelung.

Gelung seterusnya digunakan i dan j untuk mengulangi dua senarai selari.

tetapkan x {} foreach i {a b c} j {d e f g} {lappend x $ i $ j} # Nilai x adalah "a d b e c f {} g" # Terdapat 4 lelaran gelung.

Kedua-dua bentuk digabungkan dalam contoh berikut.

set x {} foreach i {a b c} {j k} {d e f g} {lappend x $ i $ j $ k} # Nilai x adalah "a d e b f g c {} {}" # Terdapat 3 lelaran gelung.

Nota

Beberapa arahan yang berkaitan berfungsi denganuntuk setiap termasuk:

  • untuk (n)
  • sementara (n)
  • pecah (n)
  • teruskan (n)

Oleh kerana pengagihan Linux dan tahap keluaran kernel berbeza-beza, gunakan lelaki perintah ( % lelaki ) untuk melihat bagaimana arahan khusus digunakan pada komputer tertentu anda.