(;;)在Perl中意味着什么?

Ben*_*aga 15 perl loops

当我看到这个时,我正在寻找开发人员代码.

for (;;){
   ....
   ....
   ....
}
Run Code Online (Sandbox Code Playgroud)

我从来没见过 ";;" 用于循环中.这究竟是做什么的?

Mit*_*eat 27

它永远循环.';;' 等于没有起始值,没有停止条件和没有增量条件.

它相当于

while (true)
{
   ...
}
Run Code Online (Sandbox Code Playgroud)

break;在循环体中的某处通常会有一个条件语句,除非它类似于系统空闲循环或消息泵.

  • "学习Perl"中关于无限循环的注释指出,尽管for表格是Perl中的惯用形式,但是形式(他们推荐while(1)). (3认同)
  • @Ben:如果你喜欢它,请查看` - >`运算符,如`while($ x - > 0){...}`. (3认同)
  • @Ether - 使用解析器为未来的程序员提供技巧并不好.;)我必须使用条件的RHS一秒钟以确保我理解正在做什么,因为我认为我之前在perl5中没有看到过.+1让我思考. (2认同)

pol*_*nts 10

所有3个部分都是可选的.空循环初始化和更新是noop.空终止条件是隐含的true.它基本上是一样的

while (true) {
   //...
}
Run Code Online (Sandbox Code Playgroud)

请注意,它不必是全有或全无; 你可以有一些而不是其他人.

for (init; cond; ) {
  //...
}

for (; cond; update) {
  //...
}

for (init; ; update) {
  //...
}
Run Code Online (Sandbox Code Playgroud)