怎么做kdb奇怪的函数参数工作?

时间:2015-07-07 16:21:53

标签: kdb

从执行控制章节来看,在我看来,函数参数有奇怪的实现,如下面的代码所示:

zs:{`d`P`L`G`D!(system"d"),v[1 2 3],enlist last v:value x}

1 个答案:

答案 0 :(得分:3)

它们不是函数参数。函数参数将始终包含在方括号中,如下所示:

{[a;b] .... }

或者如果没有指定,它们将被暗示为x,y,z

{x+y}

调试函数正在做的是在提供的函数x上运行“value”,这会产生有用的信息,如http://code.kx.com/q/ref/metadata/#value

中所述。
Given a function, it returns the list
(bytecode;parameters;locals(context;globals);constants[0];...;constants[n];definition)

然后它从中提取第2,第3,第4和最后一个输出,在当前命名空间/目录(系统“d”)之前,最后使用d / P / L / G / D作为键创建输出字典