3

我正在尝试在 kdb 中创建一个符号表,其中表的值中有空格。我有

tab:([colOne:`$"value 1"`$"value 2"]colTwo:`$"value 3"`$"value 4")

目前,但这只是返回

ERROR: `type (wrong type)

我关注了http://www.kdbfaq.com/kdb-faq/tag/sym-with-a-space

4

2 回答 2

2

应该:

tab:([colOne:`$("value 1";"value 2")]colTwo:`$("value 3";"value 4"))

请记住,q 中的评估是从左到右的:

colTwo:`$"value 3"`$"value 4"
`$"value 4" will be evaluated to symbol

然后它将尝试将此符号应用于左侧的内容:

"value 3" `$"value 4"

这会给你'type

于 2013-05-16T18:29:53.927 回答
2

您对带有空格部分的 sym 是正确的,但是在创建表列时将列表作为输入。

tab:([colOne:`a`b]colTwo:`c`d)

就像`a`b列表一样可以,但是当使用带空格的符号时,您需要将它们括起来()以制作列表。

尽管谢尔盖的回答是一种更好的方法,但下面也将起作用。

tab:([colOne:(`$"value 1";`$"value 2")]colTwo:(`$"value 3";`$"value 4"))
于 2013-05-17T04:22:57.630 回答