如何将JavaScript for-loop转换为CoffeeScript?

for (i = 0; i < 10; i++) { doStuff(); } 

这是我想要转换为CoffeeScript的JavaScript代码。

 doStuff() for i in [0 .. 9] 

这在介绍页面上解释: http : //coffeescript.org/#loops

编辑/更新JP:

确切的翻译是:

 doStuff() for i in [0...10] 

你需要小心“..”和“…”,例如:

 count = 0 doStuff() for i in [0..count] #still executes once! 

所以你认为,没问题…我会循环,直到数1!

 count = 0 doStuff() for i in [0..count-1] #executes twice!! '0' and then '-1' 

字面翻译:

 for (var i = 0; i < someCount; ++i) doStuff() 

 for i in [0...someCount] doStuff() 

标记的答案function正确,但生成的代码与原始的JavaScript不匹配。
正确的方法 (阅读,最接近下面的JavaScript)

 for (i = 0; i < 10; i++) { doStuff(); } 

is doStuff() for i in [0..someCount] by 1注意for循环上的by

现在这个代码仍然会创build一个额外的_ivariables。 如果你不能忍受它,然后使用以下内容:

 i=0 while i<=someCount doStuff() i++ 

js2coffee.org为您转换代码。