【问题标题】:How to copy contents of an array to a variable如何将数组的内容复制到变量中
【发布时间】:2018-09-12 23:54:01
【问题描述】:

很抱歉这个基本问题,但我是 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

我尝试在其中一个脚本窗口中运行它,但无法让它为我工作,而且我发现语法令人困惑。

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

4) Combo

【问题讨论】:

    标签: arrays coffeescript


    【解决方案1】:

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

    (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
    

    【讨论】:

    • 大便!如此接近并被优先绊倒。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-22
    相关资源
    最近更新 更多