列出不会自动展开的追加操作符

时间:2019-04-16 18:26:04

标签: kdb

考虑

q)-3!1,2
"1 2"
q)-3!1,enlist 2
"1 2"
q)-3!(enlist 1),enlist 2
"1 2"
q)-3!(enlist 1),2
"1 2"

当将列表作为表示集的数据结构(然后表示集的集等)处理时,这变得很烦人,因此我必须定义

q)app:{(enlist x) , enlist y}
q)-3!app[1;2]
"1 2"
q)-3!app[1;enlist 2]
"(1;,2)"
q)-3!app[enlist 1;enlist 2]
"(,1;,2)"
q)-3!app[enlist 1;2]
"(,1;2)"

其行为“符合预期”(来自静态类型的pov)。 问题是是否存在内置的此类运算符,如果没有,为什么?

1 个答案:

答案 0 :(得分:0)

回答自己。此操作是两个(或多个)参数的enlist

q)-3!enlist[1;2]
"1 2"
q)-3!enlist[1;enlist 2]
"(1;,2)"
q)-3!enlist[enlist 1;enlist 2]
"(,1;,2)"
q)-3!enlist[enlist 1;2]
"(,1;2)"