在这些示例中,为什么“ last”在Perl中的行为有所不同?

否认主义

此循环永不停止:

while (1)
{
    while (1)
    {
        last;
    }
}  

此循环停止

while (1)
{
    do
    {
        last;
    }
    while (1);
}

没有last,它们的无限相似。第二个循环结构似乎没有将内部循环视为一个循环。我猜想第二个结构last实际上是在内循环开始之前退出外循环的。但为什么?do{}完成第一次执行后,内部循环是否实际上会“稍后”开始

亨特·麦克米伦(Hunter McMillen)

来自perldoc -f last

last不能用于退出返回诸如eval {},sub {}或do {}之类的值的块,并且不应用于退出grep()或map()操作。

do {
   # ... 
} while (1); 

实际上不是在Perl循环,因此lastnextredo不正确的内部IT部门。

单块实际上虽然是循环,所以你可以用在阻止您做表达式可以last充当你希望:

{
   do {
      last; 
   } while (1); 
}

一个更直观的解决方案将是具有一个控制执行力的哨兵值:

my $should_stop = 0;
do {  
   if ( <some-condition> ) { $should_stop = 1; }
} while ( !$should_stop ) 

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在这些示例中,为什么“ last”在Perl中的行为有所不同?

来自分类Dev

<|>在Parsec中-为什么这些示例的行为有所不同?

来自分类Dev

为什么在此示例中,“ grep”的行为有所不同?

来自分类Dev

Powershell脚本在TeamCity中的行为有所不同

来自分类Dev

在此示例中,为什么max()函数对于两个属性的行为有所不同?

来自分类Dev

在此示例中,为什么无单位行高的行为与百分比或em有所不同?

来自分类Dev

为什么单个元素哈希表在Powershell中的行为有所不同?

来自分类Dev

为什么NumberFormatInfo在Azure环境中的行为有所不同?

来自分类Dev

当类中的counter较大时,为什么java线程的行为会有所不同?

来自分类Dev

为什么numpy导入的行为有所不同?

来自分类Dev

为什么groupby操作的行为有所不同

来自分类Dev

为什么hide()的行为有所不同?

来自分类Dev

为什么to_sym的行为有所不同?

来自分类Dev

为什么这些小型D程序的行为有所不同?

来自分类Dev

为什么这些小型D程序的行为有所不同?

来自分类Dev

JavaScript删除对象在不同的浏览器中的行为有所不同

来自分类Dev

Bootstrap Navbar在不同的浏览器中的行为有所不同

来自分类Dev

具有外部联接的查询在Oracle 12c中的行为有所不同

来自分类Dev

具有外部联接的查询在Oracle 12c中的行为有所不同

来自分类Dev

在chrome和firefox中,fieldset中的CSS“顶部”的行为有所不同

来自分类Dev

与.data中的符号相比,gdb对于.bss中的符号的行为有所不同

来自分类Dev

为什么JavaScript“删除”运算符在不同浏览器中的行为会有所不同?

来自分类Dev

为什么在具有一级索引的MultiIndex列的熊猫DataFrame中,行为会有所不同?

来自分类Dev

网站与Windows窗体中的USING块的行为有所不同

来自分类Dev

卸载时,wix中的进度栏的行为有所不同

来自分类Dev

Angularjs验证在1.3.0和1.2.6中的行为有所不同

来自分类Dev

UIScrollView的行为在iOS8中有所不同

来自分类Dev

ES6类在ExpressJS中的行为有所不同吗?

来自分类Dev

嵌入到导航控制器中时,UIScrollView的行为有所不同

Related 相关文章

  1. 1

    在这些示例中,为什么“ last”在Perl中的行为有所不同?

  2. 2

    <|>在Parsec中-为什么这些示例的行为有所不同?

  3. 3

    为什么在此示例中,“ grep”的行为有所不同?

  4. 4

    Powershell脚本在TeamCity中的行为有所不同

  5. 5

    在此示例中,为什么max()函数对于两个属性的行为有所不同?

  6. 6

    在此示例中,为什么无单位行高的行为与百分比或em有所不同?

  7. 7

    为什么单个元素哈希表在Powershell中的行为有所不同?

  8. 8

    为什么NumberFormatInfo在Azure环境中的行为有所不同?

  9. 9

    当类中的counter较大时,为什么java线程的行为会有所不同?

  10. 10

    为什么numpy导入的行为有所不同?

  11. 11

    为什么groupby操作的行为有所不同

  12. 12

    为什么hide()的行为有所不同?

  13. 13

    为什么to_sym的行为有所不同?

  14. 14

    为什么这些小型D程序的行为有所不同?

  15. 15

    为什么这些小型D程序的行为有所不同?

  16. 16

    JavaScript删除对象在不同的浏览器中的行为有所不同

  17. 17

    Bootstrap Navbar在不同的浏览器中的行为有所不同

  18. 18

    具有外部联接的查询在Oracle 12c中的行为有所不同

  19. 19

    具有外部联接的查询在Oracle 12c中的行为有所不同

  20. 20

    在chrome和firefox中,fieldset中的CSS“顶部”的行为有所不同

  21. 21

    与.data中的符号相比,gdb对于.bss中的符号的行为有所不同

  22. 22

    为什么JavaScript“删除”运算符在不同浏览器中的行为会有所不同?

  23. 23

    为什么在具有一级索引的MultiIndex列的熊猫DataFrame中,行为会有所不同?

  24. 24

    网站与Windows窗体中的USING块的行为有所不同

  25. 25

    卸载时,wix中的进度栏的行为有所不同

  26. 26

    Angularjs验证在1.3.0和1.2.6中的行为有所不同

  27. 27

    UIScrollView的行为在iOS8中有所不同

  28. 28

    ES6类在ExpressJS中的行为有所不同吗?

  29. 29

    嵌入到导航控制器中时,UIScrollView的行为有所不同

热门标签

归档