OnWorks Linux dan Windows Online Workstations

logo

Pengehosan Dalam Talian Percuma untuk Workstation

<Sebelum | Contents [show] | Seterusnya>

untuk: Bentuk Cangkang Tradisional

Asal Untuk sintaks arahan ialah:

Untuk berubah-ubah [dalam perkataan]; buat

arahan

dilakukan

Lokasi berubah-ubah ialah nama pembolehubah yang akan meningkat semasa pelaksanaan gelung, perkataan ialah senarai pilihan item yang akan diberikan secara berurutan berubah-ubah, dan arahan adalah arahan yang akan dilaksanakan pada setiap lelaran gelung.

. Untuk arahan berguna pada baris arahan. Kami boleh menunjukkan cara ia berfungsi dengan mudah:



[saya@linuxbox ~]$ untuk i dalam ABCD; lakukan echo $i; selesai

ABCD

[saya@linuxbox ~]$ untuk i dalam ABCD; lakukan echo $i; selesai

ABCD


Dalam contoh ini, Untuk diberikan senarai empat perkataan: “A”, “B”, “C”, dan “D”. Dengan senarai empat perkataan, gelung dilaksanakan empat kali. Setiap kali gelung dilaksanakan, satu perkataan diberikan kepada pembolehubah i. Di dalam gelung, kami mempunyai echo arahan yang memaparkan nilai i untuk menunjukkan tugasan. Seperti dengan manakala and sehingga gelung, yang dilakukan kata kunci menutup gelung.


Ciri yang sangat berkuasa bagi Untuk ialah bilangan cara menarik yang boleh kita buat senarai perkataan. Contohnya, melalui pengembangan pendakap:



[saya@linuxbox ~]$ untuk i dalam {A..D}; lakukan echo $i; selesai

ABCD

[saya@linuxbox ~]$ untuk i dalam {A..D}; lakukan echo $i; selesai

ABCD


atau pengembangan nama laluan:



[saya@linuxbox ~]$ untuk i dalam distros*.txt; lakukan echo $i; selesai

distros-by-date.txt distros-dates.txt distros-key-names.txt distros-key-vernums.txt distros-names.txt distros.txt

distros-vernums.txt distros-versions.txt

[saya@linuxbox ~]$ untuk i dalam distros*.txt; lakukan echo $i; selesai

distros-by-date.txt distros-dates.txt distros-key-names.txt distros-key-vernums.txt distros-names.txt distros.txt

distros-vernums.txt distros-versions.txt


atau penggantian arahan:



#! / Bin / Bash

# perkataan terpanjang: cari rentetan terpanjang dalam fail manakala [[ -n $1 ]]; buat

jika [[ -r $1 ]]; maka max_word= max_len=0

untuk i dalam $(rentetan $1); lakukan len=$(echo -n $i | wc -c)

jika (( len > max_len )); maka max_len=$len max_word=$i

fi

dilakukan

echo "$1: '$max_word' ($max_len aksara)"

fi syif

dilakukan

#! / Bin / Bash

# perkataan terpanjang: cari rentetan terpanjang dalam fail manakala [[ -n $1 ]]; buat

jika [[ -r $1 ]]; maka max_word= max_len=0

untuk i dalam $(rentetan $1); lakukan len=$(echo -n $i | wc -c)

jika (( len > max_len )); maka max_len=$len max_word=$i

fi

dilakukan

echo "$1: '$max_word' ($max_len aksara)"

fi syif

dilakukan

untuk: Bentuk Cangkang Tradisional


Dalam contoh ini, kami mencari rentetan terpanjang yang ditemui dalam fail. Apabila diberikan satu atau lebih nama fail pada baris arahan, program ini menggunakan tali program (yang disertakan dalam pakej binutils GNU) untuk menjana senarai "perkataan" teks yang boleh dibaca dalam setiap fail. The Untuk gelung memproses setiap perkataan secara bergilir-gilir dan menentukan sama ada perkataan semasa adalah yang paling lama ditemui setakat ini. Apabila gelung selesai, perkataan terpanjang dipaparkan.

Jika pilihan in perkataan bahagian dari Untuk perintah ditinggalkan, Untuk lalai untuk memproses parameter kedudukan. Kami akan mengubah suai kami perkataan terpanjang skrip untuk menggunakan kaedah ini:



#! / Bin / Bash

# longest-word2: cari rentetan terpanjang dalam fail untuk i; buat

jika [[ -r $i ]]; maka max_word= max_len=0

untuk j dalam $(rentetan $i); lakukan len=$(echo -n $j | wc -c)

jika (( len > max_len )); maka max_len=$len max_word=$j

fi

dilakukan

echo "$i: '$max_word' ($max_len aksara)"

fi selesai

#! / Bin / Bash

# longest-word2: cari rentetan terpanjang dalam fail untuk i; buat

jika [[ -r $i ]]; maka max_word= max_len=0

untuk j dalam $(rentetan $i); lakukan len=$(echo -n $j | wc -c)

jika (( len > max_len )); maka max_len=$len max_word=$j

fi

dilakukan

echo "$i: '$max_word' ($max_len aksara)"

fi selesai


gambar

Seperti yang kita lihat, kita telah menukar gelung paling luar untuk digunakan Untuk Sebagai ganti manakala. Dengan meninggalkan senarai perkataan dalam Untuk arahan, parameter kedudukan digunakan sebagai ganti. Di dalam gelung, contoh pembolehubah sebelumnya i telah ditukar kepada pembolehubah j. Penggunaan peralihan juga telah dihapuskan.


Kenapa saya?

Anda mungkin perasan bahawa pembolehubah i telah dipilih untuk setiap satu Untuk contoh gelung di atas. kenapa? Tiada sebab tertentu sebenarnya, selain tradisi. Pembolehubah yang digunakan dengan Untuk boleh menjadi sebarang pembolehubah yang sah, tetapi i adalah yang paling biasa, diikuti oleh j and k.



gambar

Asas tradisi ini berasal dari bahasa pengaturcaraan Fortran. Dalam For-tran, pembolehubah tidak diisytiharkan bermula dengan huruf I, J, K, L, dan M ditaip secara automatik sebagai integer, manakala pembolehubah yang bermula dengan mana-mana huruf lain ditaip sebagai nyata (nombor dengan pecahan perpuluhan). Tingkah laku ini menyebabkan pengaturcara menggunakan pembolehubah I, J dan K untuk pembolehubah gelung, kerana ia kurang berfungsi untuk menggunakannya apabila pembolehubah sementara (sebagaimana pembolehubah gelung selalunya) diperlukan.

Ia juga membawa kepada tipu muslihat berasaskan Fortran berikut: "TUHAN adalah nyata, melainkan diisytiharkan integer."


Pengkomputeran Awan OS teratas di OnWorks: