我刚开始学习 Perl 脚本语言,有一个问题。

在 Perl 中,让 continue 块与 whiledo while 循环一起工作,但不能与 for 循环一起工作的逻辑原因是什么?

最佳答案

您可以在任何有意义的地方使用 continue 块:使用 whileuntilforeach 循环,以及“基本”块——不属于另一个语句的块。请注意,对于列表迭代构造,您可以使用关键字 for 而不是 foreach,当然在这种情况下您可以使用 continue 块。

正如其他人所说,for (;;) 循环已经有一个 continue 部分——你想先执行哪一个?
continue 块也不能与 do { ... } while ... 一起使用,因为在语法上这是一个非常不同的东西( do 是一个以 BLOCK 作为参数的内置函数,而 while 部分是一个语句修饰符)。我想你可以对它们使用双 curl 结构(参数块内的基本块),如果你真的必须:

do {
    {
        ...;
        continue if $bad;
        ...;
    }
    continue {
        ...; # clean up
    }
} while $more;

关于Perl 编程 : continue block,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5963286/

10-12 22:08