开发手册 欢迎您!
软件开发者资料库

Q语言 - 动词和副词

Q语言动词和副词 - 使用这个初学者教程,简单易学地学习KDB +,包括从概述,架构,Q编程语言,类型转换,时态数据,列表,索引,词典,表格,动词和副词开始的基础知识到高级知识,联接,函数,内置函数,查询,进程间通信,消息处理程序(.Z库),属性,功能查询,表算法,磁盘上的表,维护功能。

Kdb +有名词,动词和副词.所有数据对象和函数都是名词. 动词通过减少表达式中的方括号和括号的数量来增强可读性. 副词修改二元(2个参数)函数和动词以产生新的相关动词.副词产生的函数称为派生函数派生动词.

每个

副词每个,用(`)表示,修改二元函数和动词以应用于列表项而不是列表本身.看看以下示例 :

 q)1,(2 3 5)/加入 1 2 3 5 q)1,'(2 3 4)/加入每个 1 2  1 3  1 4

对于使用关键字"each"的monadic函数,有一种 Each 形式.例如,

q)reverse ( 1 2 3; "abc")           /Reversea b c1 2 3q)each [reverse] (1 2 3; "abc")     /Reverse-Each3 2 1c b aq)'[reverse] ( 1 2 3; "abc")3 2 1c b a

每个左 - 右 -

每个二元函数有两种变体,称为每个左 -  (\ :)和每个 - 右(/:).以下示例说明如何使用它们.

q)x: 9 18 27 36q)y:10 20 30 40q)x,y            / join9 18 27 36 10 20 30 40q)x,'y           / each9   1018  2027  3036  40q)x: 9 18 27 36q)y:10 20 30 40q)x,y            / join9 18 27 36 10 20 30 40q)x,'y           / each, will return a list of pairs9   1018  2027  3036  40q)x, \:y         / each left, returns a list of each element                 / from x with all of y  9   10  20  30  4018  10  20  30  4027  10  20  30  4036  10  20  30  40q)x,/:y          / each right, returns a list of all the x with                 / each element of y  9  18  27  36  109  18  27  36  209  18  27  36  309  18  27  36  40q)1 _x           / drop the first element18 27 36q)-2_y           / drop the last two element10 20q)               / Combine each left and each right to be a                 / cross-product (cartesian product)                 q)x,/:\:y9   10  9   20  9   30  9   4018  10  18  20  18  30  18  4027  10  27  20  27  30  27  4036  10  36  20  36  30  36  40