PyQ:如何在展开的 table 上枚举符号列?

PyQ: How to enumerate symbol column on a splayed table?

我正在尝试使用 pyq 创建带有符号列的展开 table。在 q 中,我将通过使用 .Q.en...

枚举符号列来设置 table
:splay/ set .Q.en[`:splay;]([]a:`x`y`z; b:1 2 3)

我尝试了以下几种变体...

q.set(':splay/', q('.Q.en')('!', ["Name", "Ask", "Bid", "Last", "Vol", "Time"], [K.symbol([]), K.float([]), K.float([]), K.float([]), K.float([]), K.timestamp([])]).flip)

但它抛出以下排名错误:_k.error: rank.

在 pyq 中正确的语法是什么?

首先,您的二维码不正确。函数

.Q.en[`:splay;]

会将 sym 文件放在 splay table 中,这不是您想要的。相反,sym 文件应保存在 splay table.

旁边的顶级数据库目录(下面代码中的 db
`:db/splay/ set .Q.en[`:db]([]a:`x`y`z; b:1 2 3)

同样的代码可以用pyq写成

q.set(':db/splay/', q('.Q.en', ':db', q('([]a:`x`y`z; b:1 2 3)')))