Làm thế nào để tạo ra vô vòng trong Perl

Có một số cách làm thế nào bạn có thể tạo ra vô vòng trong Perl.

Sử dụng while

Đầu tiên phương pháp thông qua mà bạn có thể tạo ra một vòng lặp vô hạn là để sử dụng chu kỳ while. Vòng này là thực hiện cho đến khi các biểu hiện là sự thật. Như biểu để viết một đơn giản liên tục, đó là sự thật trong trường hợp này vòng sẽ chạy vô. Đây là một ví dụ mã:

#!/usr/bin/perl

while (1) {
    # some code
}

Nếu bạn cần để hoàn thành chu kỳ này, sau đó, trong vòng bạn cần phải thực hiện last. Đây là một ví dụ:

▶ Run
#!/usr/bin/perl

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

Lưu ý rằng để thoát khỏi vòng lặp từ khóa là sử dụng last, không returnvà không break.

Sử dụng for

Đây là cách để viết vô vòng trên Perl ngôn ngữ c sử dụng for:

#!/usr/bin/perl

for (;;) {
    # some code
}

Sau khi for 3 trong ngoặc những đoạn mã:

  • ban đầu có giá trị
  • kiểm tra
  • thay đổi

Thường là cơ thể của những vòng lặp được thực hiện nếu các thử nghiệm trở thành sự thật. Nhưng nếu kiểm tra bị mất tích, trong trường hợp này, nó chỉ lặp vô hạn.

Để thoát khỏi vòng lặp vô hạn này, bạn cần phải sử dụng last:

▶ Run
#!/usr/bin/perl

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

Sử dụng until

Đây là một cách làm thế nào bạn có thể tạo ra vô vòng trong Perl:

#!/usr/bin/perl

do {
    # some code
} until(0)

Mã chặn thực hiện cho đến khi những điều kiện trong until là một lời nói dối.

Để nhận ra điều này vô tận chu kỳ, cũng cần phải sử dụng từ khóa last, nhưng để làm cho nó hoạt động chính xác anh cần đến nơi tất cả mã vô vòng trong niềng răng:

▶ Run
#!/usr/bin/perl

my $i = 0;

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

Đây là một ví dụ, nơi chúng tôi đang cố gắng sử dụng last, nhưng không kèm theo mã ngoặc:

▶ Run
#!/usr/bin/perl

my $i = 0;

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

Nếu bạn chạy mã này, nó sẽ lỗi:

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

Chủ đề liên quan

Các bài viết khác