如何在KDB中加入表列表

时间:2018-08-20 15:25:59

标签: kdb

我正在使用下面的方法来联接多个表

() uj/(a;b;c)

但是有什么方法可以传递表列表来实现这一目标?

当前,如果我执行以下操作,则会出现类型错误

tbList:tables[]
() uj/(tbList)

谢谢

3 个答案:

答案 0 :(得分:2)

uj需要表参数,而tables[]返回根名称空间中的变量名,这些变量是表作为符号列表。

要从中获取表列表,可以使用value each tables[],它将依次评估每个变量名称,并将评估后的表作为列表返回。

如果/(仅)仅提供一个列表参数,它将第一个元素作为初始值,因此您无需像下面这样提供空列表作为初始值:

uj/[value each tables[]]

答案 1 :(得分:2)

从技术上讲,可以通过传递表名来实现:

eval (uj/;enlist,`tab1`tab2`tab3)

但是按照其他人的建议使用value可能更传统

答案 2 :(得分:0)

() uj/value each tbList

对符号求值,返回它命名的变量的值。