首页 > 解决方案 > q 中的多变量赋值

问题描述

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

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

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

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

标签: kdbk

解决方案


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

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

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

q)@[`.;`a`b;:;100 200]
`.
q)a
100
q)b
200

推荐阅读