如何将数组的内容复制到变量

How to copy contents of an array to a variable

抱歉这个基本问题,但我是 coffeescript 的新手,文档对我来说没有意义。

我指的是本文档中的代码:http://coffeescript.org/#loops 具体来说,

# Fine five course dining.
courses = ['greens', 'caviar', 'truffles', 'roast', 'cake']
menu = (i, dish) -> "Menu Item #{i}: #{dish}" 
menu i + 1, dish for dish, i in courses

我想要课程而不是披萨:

pizzas = ["Veggie", "Cheese", "Pepperoni", "Combo"]
menu = (i, pizza) -> "#{i}) #{pizza}" 
menu i + 1, pizza for pizza, i in pizzas

然后把结果存到一个变量里,让变量包含"1) Veggie 2) Cheese",等等。我想做的是:

pizzas = ["Veggie", "Cheese", "Pepperoni", "Combo"]
menu = (i, pizza) -> "#{i}) #{pizza}" 
menuOptions = menu i + 1, pizza for pizza, i in pizzas

我在其中一个脚本 windows 中尝试 运行 这样做,但无法让它为我工作,我发现语法令人困惑。

我用 console.log menuOptions 尝试 运行 并得到:

4) Combo

您的代码有效(没有语法错误),但由于运算符的优先级,您的最后一行执行如下:

(menuOptions = menu) i + 1, pizza for pizza, i in pizzas

您想要的是将表达式括在括号中,以便解释器执行您想要的操作:

menuOptions = (menu i + 1, pizza for pizza, i in pizzas)

console.log menuOptions.join(", ")
#=> 1) Veggie, 2) Cheese, 3) Pepperoni, 4) Combo