Javascript 如何将for loop/while转换为美丽的咖啡脚本

Javascript 如何将for loop/while转换为美丽的咖啡脚本,javascript,coffeescript,Javascript,Coffeescript,我正在尝试转换js var n = 50; force.start(); for (var i = 0; i < n; ++i) force.tick(); force.stop(); var n=50; force.start(); 对于(var i=0;i

我正在尝试转换js

var n = 50;
force.start();
for (var i = 0; i < n; ++i) force.tick();
force.stop();
var n=50;
force.start();
对于(var i=0;i
我转换成下面这样的咖啡脚本,只是想知道是否有更好的方法,这个看起来更长?一行/列表理解

n = 50
force.start()
i = 0

while i < n
  force.tick()
  ++i
force.stop()
n=50
force.start()
i=0
而我
force.tick()
++我
force.stop()
传送到:

var i, _i;

for (i = _i = 1; _i <= 50; i = ++_i) {
  force.tick();
}
传送至:

var _i;

for (_i = 1; _i <= 50; _i++) {
  force.tick();
}
var\u i;
对于(_i=1;_i
传送到:

var i, _i;

for (i = _i = 1; _i <= 50; i = ++_i) {
  force.tick();
}
传送至:

var _i;

for (_i = 1; _i <= 50; _i++) {
  force.tick();
}
var\u i;

对于(_i=1;_iDave Newton给出了一个包含范围的示例,使用了两个周期:

force.tick() for i in [1..50]
您还可以使用一个独占范围(使用三个句点),它更接近您的原始代码

force.tick() for i in [0...50]
当然,您可以将
n
保留为变量:

n = 50
force.tick() for i in [0...n]

如果您不需要变量
i
,可以省略它:

n = 50
force.tick() for [0...n]

请参见Dave Newton给出了一个包含范围的示例,使用了两个句点:

force.tick() for i in [1..50]
您还可以使用一个独占范围(使用三个句点),它更接近您的原始代码

force.tick() for i in [0...50]
当然,您可以将
n
保留为变量:

n = 50
force.tick() for i in [0...n]

如果您不需要变量
i
,可以省略它:

n = 50
force.tick() for [0...n]

参见

+1,我喜欢在不需要的时候省略var。+1,我喜欢在不需要的时候省略var。