KDB+/Q : About unused parameters in inner functions

标签 kdb k

我有这个功能f

f:{{z+x*y}[x]/[y]}

我可以调用f没有第三个参数,我明白了,但内部 {z+x*y} 怎么样?没有第三个参数就可以完成吗?

最佳答案

kdb 将假设,如果给一个带有两个参数的函数的单个列表,您希望第一个是 x,其余的是 y(在 over 和 scan 的上下文中,而不是一般情况下)。例如:

q){x+y}/[1;2 3 4]
10

也可以通过以下方式实现:
q){x+y}/[1 2 3 4]
10

这可能是您的示例中发生的情况。

编辑:

特别是,您将使用此功能,例如
q){{z+x*y}[x]/[y]}[2;3 4 5 6]
56

这相当于(由于 x 的投影):
q){y+2*x}/[3 4 5 6]
56

这相当于(由于我上面的原始观点):
q){y+2*x}/[3;4 5 6]
56

这就解释了为什么不需要“第三个”参数

关于KDB+/Q : About unused parameters in inner functions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38721009/

相关文章:

KDB/k : Functional form to create a table variable

aggregate - KDB/Q 中的滑动时间窗口

kdb q - 对列表中的每个原子应用 each-left 并减少

kdb - 将 "Sum"行添加到表中

mysql - 扩展元数据

kdb - 以 k/q 为单位的帕斯卡三角形

kdb - kdb中的 'and'或 '&'有什么区别?

kdb - 检查 KDB 中分区目录的命令

join - KDB 反向 asof join (aj) 即在下一个引用而不是上一个引用

k - 除了 mod/rotate 之外,K 中何时需要 EACH 运算符扩展?