Apa perbedaan antara for dan foreach di Perl?

Dalam bahasa pemrograman Perl memiliki kata kunci for dan foreach. Mereka digunakan untuk membuat loop.

Di antara mereka tidak ada perbedaan. Di mana-mana adalah for anda dapat selalu menggunakan foreach dan foreach anda dapat selalu menggunakan for.

Tapi ada rekomendasi. Perl memiliki 2 jenis siklus yang dapat dilakukan dengan menggunakan for atau foreach. Rekomendasi adalah bahwa untuk setiap jenis siklus untuk selalu menggunakan kata kunci di sini. Untuk loop loop dalam bahasa C untuk menggunakan hanya for, dan untuk siklus lain hanya menggunakan foreach. Jika anda mengikuti aturan sederhana ini kemudian ada pertanyaan tentang kapan untuk menggunakannya, dan membaca kode menjadi sedikit lebih mudah.

Siklus seperti pada bahasa C

Setelah C bahasa pemrograman jenis ini loop di Perl terlihat sangat akrab.

Setelah for 3 dalam tanda kurung adalah kode snippet:

  • nilai awal
  • cek
  • perubahan
▶ Run
#!/usr/bin/perl

for (my $i=0; $i < 3; $i++) {
    warn $i;
}

Ini kode yang sama akan bekerja dengan cara yang sama ada for menggunakan foreach. Tapi ada rekomendasi untuk jenis siklus gunakan hanya for dan tidak menggunakan foreach.

Loop — iterate melalui

Jenis kedua dari siklus yang dapat ditulis dengan menggunakan for atau foreach di Perl adalah iterasi melalui item dalam daftar. Jenis siklus ini cukup mirip dengan apa yang ada di bahasa pemrograman C.

▶ Run
#!/usr/bin/perl

foreach my $el (1, 2, 3) {
    warn $el;
}

Jika anda menulis for adalah foreach, maka lingkaran ini akan berjalan persis sama. Tapi ada rekomendasi untuk ini jenis siklus gunakan hanya foreach dan tidak menggunakan for.

Postfix siklus

Variasi dari siklus sebelumnya. Opsi ini juga akan bekerja dengan cara yang sama dalam kasus for dan foreach, tapi rekomendasi dalam kasus ini hanya menggunakan foreach.

▶ Run
#!/usr/bin/perl

warn $_ foreach (1, 2, 3);

Artikel lainnya