咖啡脚本多维数组创建



所以我试图得到一个多维数组在CoffeeScript工作。我试过用标准的Python列表推导符号,它让内括号变成字符串之类的东西。所以我不能用list[0][1]来获取1,而是用list[0][0] = '1,1'和list[0][1] = "

[[i, 1] for i in [1]]

使用类作为存储容器,然后获取x和y。这将为后一部分提供'undefined undefined',而不是' 11 1'。

class Position
    constructor:(@x,@y) ->
x = [new Position(i,1) for i in [1]]
for i in x
    alert i.x + ' ' + i.y#'undefined undefined'
i = new Position(1,1)
alert i.x + ' ' + i.y#'1 1'

能够使用点列表是非常需要的,我找不到一种方法来列出它们。我更喜欢使用一个简单的多维数组,但我不知道如何。

您只需要使用圆括号(),而不是方括号[]

来自REPL:

coffee> ([i, 1] for i in [1])
[ [ 1, 1 ] ]
coffee> [[i, 1] for i in [1]]
[ [ [ 1, 1 ] ] ]

可以看到,使用方括号,就像在Python中一样,将生成表达式放在一个额外的列表中。

这是因为括号,()实际上只存在于CoffeeScript中,当你想要将表达式分配给变量时,所以:

coffee> a = ([i, 1] for i in [1])
[ [ 1, 1 ] ]
coffee> a[0][1]
1
coffee> b = [i, 1] for i in [1]
[ [ 1, 1 ] ]
coffee> b[0][1]
undefined

另请参阅CoffeeScript Cookbook

相关内容

  • 没有找到相关文章

最新更新