我试图在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
应该是:
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
你是正确的sym与空间部分,但在创建一个表列接受列表作为输入。
tab:([colOne:`a`b]colTwo:`c`d)
将ok,因为`a`b
是一个列表,但当使用带有空格的系统时,您需要将它们包含在()
中以创建列表。
也可以工作,尽管sergey的答案是更好的方法。
tab:([colOne:(`$"value 1";`$"value 2")]colTwo:(`$"value 3";`$"value 4"))