Cara membuat loop tak terbatas di Perl

Ada beberapa cara bagaimana anda dapat membuat loop tak terbatas di Perl.

Gunakan while

Metode pertama melalui mana anda dapat membuat loop tak terbatas adalah dengan menggunakan siklus while. Lingkaran ini dijalankan sampai ekspresi adalah benar. Sebagai ekspresi menulis sederhana konstan, yang benar dalam hal ini loop akan berjalan jauh. Berikut adalah contoh kode:

#!/usr/bin/perl

while (1) {
    # some code
}

Jika anda perlu untuk menyelesaikan siklus ini, maka dalam lingkaran yang anda butuhkan untuk melakukan last. Berikut ini sebuah contoh:

▶ Run
#!/usr/bin/perl

my $i = 0;
while (1) {
    print $i;
    last if $i > 2;
    $i++;
}

Perhatikan bahwa untuk keluar dari loop kata kunci yang digunakan last, tidak returndan tidak break.

Gunakan for

Berikut adalah cara untuk menulis loop tak terbatas pada Perl bahasa pemrograman c menggunakan for:

#!/usr/bin/perl

for (;;) {
    # some code
}

Setelah for 3 dalam tanda kurung adalah kode snippet:

  • nilai awal
  • cek
  • perubahan

Biasanya tubuh loop dilakukan jika tes mengembalikan true. Tapi jika cek tersebut hilang, dalam kasus ini, ternyata infinite loop.

Untuk keluar dari loop tak terbatas anda perlu menggunakan last:

▶ Run
#!/usr/bin/perl

for (my $i = 0;;$i++) {
    print "$i";
    last if $i > 2;
}

Gunakan until

Berikut adalah cara lain anda dapat membuat loop tak terbatas di Perl:

#!/usr/bin/perl

do {
    # some code
} until(0)

Blok kode dijalankan sampai kondisi di until adalah sebuah kebohongan.

Dalam rangka untuk keluar dari siklus tak berujung ini, juga perlu menggunakan kata kunci last, tapi untuk membuatnya bekerja dengan benar, anda harus menempatkan semua kode loop tak terbatas di kawat gigi:

▶ Run
#!/usr/bin/perl

my $i = 0;

{
    do {
        print $i;
        last if $i > 2;
        $i++;
    } until(0)
}

Berikut ini adalah contoh di mana kita mencoba untuk menggunakan last, tapi tidak tertutup kode kurung:

▶ Run
#!/usr/bin/perl

my $i = 0;

do {
    print $i;
    last if $i > 2;
    $i++;
} until(0)

Jika anda menjalankan kode ini, maka akan error:

Can't "last" outside a loop block at script.pl line 7.
0123

Topik terkait

Artikel lainnya