你如何在Coffeescript中写一个空的while循环?

时间:2011-09-11 17:42:41

标签: coffeescript

我试图将一些旧代码翻译成Coffeescript。但是没有直接翻译:

while ( doWork() ) {}

"而doWork()"没有任何结果导致语法错误。

2 个答案:

答案 0 :(得分:17)

while doWork() then

应该做的伎俩

答案 1 :(得分:2)

使用then可能是规范解决方案,因为它明确用于将条件与(在这种情况下为空)主体分离。或者你可以写

while doWork()
  ;#

#保持vim语法突出显示,将其标记为错误)

我也喜欢continue while doWork()解决方案,但我强烈反对评论中提到的任何其他形式的expression while doWork(),因为当这是函数的最后一个语句时,它将成为列表构造函数:< / p>

_results = [];
while (doWork()) {
  _results.push(expression);
}
return _results;