如何破译这个Q/KDB代码

如何破译这个Q/KDB代码,kdb,Kdb,我需要理解这个代码 raze(handle1, handle2, handle3)@\:({.myqueries.select_from_all[`some_table] . (a;b;c;();();0b);p1,p2;`}) 基本上,这个想法是从三个数据库中从同一个表中选择数据 @\:在这种情况下做什么?为什么里面有{} 这是什么意思。“从所有[`some_table]]中选择_后的意思?查看您提供的代码,可能缺少一些内容-我将向您介绍代码正在执行的预期形式: raze(listOfHan

我需要理解这个代码

raze(handle1, handle2, handle3)@\:({.myqueries.select_from_all[`some_table] . (a;b;c;();();0b);p1,p2;`})
基本上,这个想法是从三个数据库中从同一个表中选择数据

@\:在这种情况下做什么?为什么里面有{}


这是什么意思。“从所有[`some_table]]中选择_后的意思?

查看您提供的代码,可能缺少一些内容-我将向您介绍代码正在执行的预期形式:

raze(listOfHandles)@\:({[x;y] funcUsingXandY};arg0;arg1)

where:
      listOfHandles - a list of handles to remote processes
      @\: - apply the right hand side to each item in the left hand side list
      ({[x;y] funcUsingXandY};arg0;arg1) - this sends a function definition (lambda) + args for the function, to be executed on each of the handles.
示例假定有进程在本地主机端口7070和7071上侦听:

q) handle1:hopen 7070;
q) handle2:hopen 7071;
q) raze(handle1,handle2)@\:({[x;y] enlist(.z.p; x+y)}; 39;3)
    2014.08.23D14:11:15.452611000 42
    2014.08.23D14:11:15.452847000 42
在上面的示例中,我们使用args 39执行函数{[x;y]list.z.p;x+y};3在每个远程句柄handle1和handle2上-我们得到当前时间的响应。z.p&每个句柄响应中两个参数的总和。raze将从每个句柄返回的结果连接到一个列表中。在您的示例中,函数似乎正在返回一个表——在本例中,raze将从句柄返回的表列表连接到一个表中

编辑:我错过了你问题中关于-这个允许您对采用多个参数的函数应用参数列表-例如:

q)plus:{[x;y] x+y}
q)plus . (4;5)
    9
有关详细信息,请参阅:


查看您提供的代码,看起来可能缺少一些内容-我将以预期的形式向您介绍代码正在执行的操作:

raze(listOfHandles)@\:({[x;y] funcUsingXandY};arg0;arg1)

where:
      listOfHandles - a list of handles to remote processes
      @\: - apply the right hand side to each item in the left hand side list
      ({[x;y] funcUsingXandY};arg0;arg1) - this sends a function definition (lambda) + args for the function, to be executed on each of the handles.
示例假定有进程在本地主机端口7070和7071上侦听:

q) handle1:hopen 7070;
q) handle2:hopen 7071;
q) raze(handle1,handle2)@\:({[x;y] enlist(.z.p; x+y)}; 39;3)
    2014.08.23D14:11:15.452611000 42
    2014.08.23D14:11:15.452847000 42
在上面的示例中,我们使用args 39执行函数{[x;y]list.z.p;x+y};3在每个远程句柄handle1和handle2上-我们得到当前时间的响应。z.p&每个句柄响应中两个参数的总和。raze将从每个句柄返回的结果连接到一个列表中。在您的示例中,函数似乎正在返回一个表——在本例中,raze将从句柄返回的表列表连接到一个表中

编辑:我错过了你问题中关于-这个允许您对采用多个参数的函数应用参数列表-例如:

q)plus:{[x;y] x+y}
q)plus . (4;5)
    9
有关详细信息,请参阅: