2012-12-13 21 views

回答

0

我找到了解决自己:

(w*2 for w in [1, 2, 3]) 
// -> [2, 4, 6] 
+1

因为CoffeeScript中提出的“一切返回一个值”的理想,在'[]'是没有必要的使其表现得像一个列表理解。 '()'通常是,但并非总是必要的,这取决于你想要对结果做什么以及你使用的是什么空白。 –

+0

@AaronDufour:感谢您的意见。在我的情况下,括号是必要的,你不觉得吗? – Amberlamps

+0

他们不是;看到http://jashkenas.github.com/coffee-script/#try:w*2%20for%20w%20in%20%5B1%2C%202%2C%203%5D但是,如果你想分配结果像'a =(w * 2表示[1,2,3]中的w),它们是必需的;否则'a = w * 2'将成为循环的主体,而不仅仅是'w * 2'。 –