使用Lambda的KDB / Q功能更新

时间:2018-07-27 01:01:00

标签: kdb

我正在尝试在功能更新中使用一些lambda。一个简单的例子就是

parse "update cfoo:foo'[c] from t"

!
`t

falseb
,`cfoo!,((`func;`foo);`c)

该解析树中的`func是什么?在下面我需要用什么替换它?

![`t;();0b;(enlist `cfoo)!enlist ((`func;`foo);`c)]

1 个答案:

答案 0 :(得分:4)

解析与您所拥有的东西给我的东西与您拥有的东西有所不同:

q)parse "update cfoo:foo'[c] from t"
!
`t
()
0b
(,`cfoo)!,((';`foo);`c)

看起来像这样:

![`t;();0b;(enlist`cfoo)!enlist((';`foo);`c)]

上面的内容直接来自`q提示符。您或者解析了其他内容,或者您​​的GUI / IDE在最终输出中更改了某些内容。

func就是您要向'申请的[c]。 这是一个示例,其中我用其他方式更改了'

q)parse "update cfoo:foo/:[c] from t"
!
`t
()
0b
(,`cfoo)!,((/:;`foo);`c)