1

这段代码看起来像多变量赋值:

d:`a`b`c!1 2 3
d[`a`b]:10 20

为什么它会这样工作?为什么它与(a;b):10 20(不起作用)不同?

我想第二行只会进行临时分配 - 实际上不会替换值。但它会的。

4

1 回答 1

3

它在顶级索引并分配新值,因此它与以下内容相同:

q)@[`d;`a`b;:;10 20]
`d

这也适用于根上下文中的全局变量

q)@[`.;`a`b;:;100 200]
`.
q)a
100
q)b
200
于 2020-10-20T21:03:58.943 回答