Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kdb 这个kbd函数是如何工作的?_Kdb - Fatal编程技术网

Kdb 这个kbd函数是如何工作的?

Kdb 这个kbd函数是如何工作的?,kdb,Kdb,有人能解释一下下面的功能吗?kdb在这里如何利用x 我将原来的函数改为“func”,我知道它使用在que中指定的查询来查询这两个函数。问题是我不知道x0和x01在这里是如何工作的。我知道0是索引1,1是索引2,x是参数 svcs:`TEST:1`TEST:2 que: (`$"select count sym from trades";`$"select sum size from trades") {func[x 0;string x 1],x 0 1}each svcs cross que

有人能解释一下下面的功能吗?kdb在这里如何利用x

我将原来的函数改为“func”,我知道它使用在que中指定的查询来查询这两个函数。问题是我不知道x0和x01在这里是如何工作的。我知道0是索引1,1是索引2,x是参数

svcs:`TEST:1`TEST:2
que: (`$"select count sym from trades";`$"select sum size from trades")

{func[x 0;string x 1],x 0 1}each svcs cross que

每次调用函数时,x都作为两个元素的列表传入

暂时忘记func描述,只需添加一些日志记录即可更清楚地看到:

q)svcs cross que
TEST:1 select count sym from trades
TEST:1 select sum size from trades
TEST:2 select count sym from trades
TEST:2 select sum size from trades
q){show enlist "x 0 is ",string x 0;show enlist "x 1 is ",string x 1;show raze "
x 0 1 is ",(string x 0)," & ", (string x 1)}each svcs cross que;
"x 0 is TEST:1"
"x 1 is select count sym from trades"
"x 0 1 is TEST:1 & select count sym from trades"
"x 0 is TEST:1"
"x 1 is select sum size from trades"
"x 0 1 is TEST:1 & select sum size from trades"
"x 0 is TEST:2"
"x 1 is select count sym from trades"
"x 0 1 is TEST:2 & select count sym from trades"
"x 0 is TEST:2"
"x 1 is select sum size from trades"
"x 0 1 is TEST:2 & select sum size from trades"
或者一个单独的例子:

q)x:(`TEST:1;`$"select count sym from trades")
q)x 0
`TEST:1
q)x 1
`select count sym from trades
q)x 0 1
`TEST:1`select count sym from trades

x01索引并检索第一个和第二个元素(返回值)

x在每次调用函数时都作为两个元素列表传入

暂时忘记func描述,只需添加一些日志记录即可更清楚地看到:

q)svcs cross que
TEST:1 select count sym from trades
TEST:1 select sum size from trades
TEST:2 select count sym from trades
TEST:2 select sum size from trades
q){show enlist "x 0 is ",string x 0;show enlist "x 1 is ",string x 1;show raze "
x 0 1 is ",(string x 0)," & ", (string x 1)}each svcs cross que;
"x 0 is TEST:1"
"x 1 is select count sym from trades"
"x 0 1 is TEST:1 & select count sym from trades"
"x 0 is TEST:1"
"x 1 is select sum size from trades"
"x 0 1 is TEST:1 & select sum size from trades"
"x 0 is TEST:2"
"x 1 is select count sym from trades"
"x 0 1 is TEST:2 & select count sym from trades"
"x 0 is TEST:2"
"x 1 is select sum size from trades"
"x 0 1 is TEST:2 & select sum size from trades"
或者一个单独的例子:

q)x:(`TEST:1;`$"select count sym from trades")
q)x 0
`TEST:1
q)x 1
`select count sym from trades
q)x 0 1
`TEST:1`select count sym from trades

x01索引并检索第一个和第二个元素(返回你是对的,
x0
x1
x[0]
x[1]
相同(请参见下面索引列表上的链接),但问题可能是
x
是什么并不明显

由于副词
each
,函数执行四次,在
svcs-cross-que中的每个项目执行一次

然后,
svcs cross que
中的每个项目都有两个项目

q)count each svcs cross que
2 2 2 2
因此,在第一次执行中,
x
svcs-cross-que
的第一项,依此类推

q)first svcs cross que
`TEST:1`select count sym from trades
q)(first svcs cross que) 0
`TEST:1
q)(first svcs cross que) 1
`select count sym from trades
q)(first svcs cross que) 0 1
`TEST:1`select count sym from trades
参考文献


你是对的,
x0
x1
x[0]
x[1]
相同(请参见下面索引列表上的链接),但问题可能是
x
是什么并不明显

由于副词
each
,函数执行四次,在
svcs-cross-que中的每个项目执行一次

然后,
svcs cross que
中的每个项目都有两个项目

q)count each svcs cross que
2 2 2 2
因此,在第一次执行中,
x
svcs-cross-que
的第一项,依此类推

q)first svcs cross que
`TEST:1`select count sym from trades
q)(first svcs cross que) 0
`TEST:1
q)(first svcs cross que) 1
`select count sym from trades
q)(first svcs cross que) 0 1
`TEST:1`select count sym from trades
参考文献