将不同类型的值更新到字典中

Xpe*_*tor 2 kdb

这个有效:

d1:`t1`t2`idx!(2017.01.01;2018.01.01;42)
Run Code Online (Sandbox Code Playgroud)

但是这个失败了(类型错误):

d2:()!()
d2[`t1]:2017.01.01
d2[`t2]:2018.01.01
d2[`idx]:42
Run Code Online (Sandbox Code Playgroud)

有解决方法吗?为了更好的可读性,我想逐键(逐行)填充字典。实际上,它更长。

Cat*_*ill 5

当您将字典定义为 时d:()!(),您插入的第一件事(在本例中为日期)将使字典的类型仅采用 type 的值-14h

标准做法是使用无类型值初始化 dict 以阻止该值成为一个简单的向量

q)d2:enlist[`]!enlist(::)
q)d2[`t1]:2017.01.01
q)d2[`t2]:2018.01.01
q)d2[`idx]:42
q)d2
   | ::
t1 | 2017.01.01
t2 | 2018.01.01
idx| 42
Run Code Online (Sandbox Code Playgroud)