我试图将一些旧代码翻译成Coffeescript。但是没有直接翻译:
while ( doWork() ) {}
"而doWork()"没有任何结果导致语法错误。
答案 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;