kdb - q 中的多变量赋值
问题描述
这段代码看起来像多变量赋值:
d:`a`b`c!1 2 3
d[`a`b]:10 20
为什么它会这样工作?为什么它与(a;b):10 20
(不起作用)不同?
我想第二行只会进行临时分配 - 实际上不会替换值。但它会的。
解决方案
它在顶级索引并分配新值,因此它与以下内容相同:
q)@[`d;`a`b;:;10 20]
`d
这也适用于根上下文中的全局变量
q)@[`.;`a`b;:;100 200]
`.
q)a
100
q)b
200
推荐阅读
- javascript - 错误:重新渲染过多。React 限制了渲染的数量以防止无限循环。反应
- vue.js - 选中 Vue 2.x 未点击复选框
- bpf - 将字符串发送回 BPF 代码并返回用户空间时是否存在字符串大小限制?
- python - 有没有办法在填充后保留图像的像素值?
- reactjs - 为什么我收到无效的挂钩调用错误?
- c# - c#构造函数通过反射获取'base'部分
- javascript - 如何在 Adobe 的 pdf 嵌入 API 中使用变量作为 URL 值?
- c# - 无法将类型 bool 隐式转换为 unity Engine Animator PlayerPrefs
- javascript - 无法使用表单变量访问 JavaScript 表单元素
- imagemagick - 通过使用 imagemagick 的隐蔽命令来使用 ghostscript 的 -dprinted 选项