k語言和q語言的比較

lt發表於2016-07-09

q語言的表達方式已經很精簡了,K在這方面比它更厲害,幾乎每個運算子都有多個含義(過載),以ReferenceCard中列舉的順序,比較如下:

選擇

@ 符號 KQ通用 語法 d @ i ,其中d是資料,i是索引,d可以是列表,i可以是整數或列表

L:1 3 5 8 11
I:2 3
L @ 1  //返回 3
L @ I  //返回 5 8
L2:(L ; 10*L)

要實現同樣的效果,K和Q還都可以用方括號代替 @, K還可以用 .代替 @。

q)L [I]
5 8 
L . I
5 8
L2 [0]  //返回1 3 5 8 11
L2 [1 ; 1]  //返回30

結構

主要是獲取型別,求長度、變形、型別轉換等操作。

  1. 求計數,K語言用#符號,q用count,可讀性q更好
# L  
5  
# L2  
2  
q)count L  
5
  1. 填充一個指定長度的列表,K和q都使用#雙目運算子,格式是:長度 # 列表:
q)5 # 2
2 2 2 2 2
q)5 # 2 1
2 1 2 1 2

相關文章