2010-10-27 34 views

回答

13

for(;;)是一个C成语,意思是“永远做”,一个无限循环。只有当die语句触发(剧烈),或者原因设置为THROTTLE_CAUSE_NONE(不那么剧烈)时,该循环才会退出。

这是一个for循环,没有预先设置,没有条件,也没有后迭代命令,实际上与while true(伪代码)一样。

4

for(;;)基本上是一个无限循环,仅此而已:)

7

这是一个永远的循环。

+0

+1对于玩的话:P – BoltClock 2010-10-27 09:25:38

+0

@BoltCLock我很高兴至少有人认出它。 – joni 2010-10-27 09:32:42

3

它是有效的。它创建一个无限循环,在这种情况下,将在break/break语句执行时被分解出来,即if($cause == THROTTLE_CAUSE_NONE)

4

Ugh。

它是有效的语法,它创建一个无限循环。但它很丑。

一个更华丽的方式做这将是

while ($cause = $monitor->Throttle($cause) != THROTTLE_CAUSE_NONE) 
{ 
    if(!$cause) 
    die('Fatal error: '.$monitor->error); 

    sleep(60); 
} 
2

for循环有四个部分:

for(initialization; exit condition; step) { body; } 

你的循环有没有人,所以没有退出条件它将只一直运行,直到击中'break'一句:

if($cause == THROTTLE_CAUSE_NONE) 
    break; 

等价物是:

while(True) { ... }