我想,要成为真正的KDB专家,我应该学习K,对吗?所以我可以编写一些快速函数并理解事物的实际工作方式等等。
我发现这个阶乘的定义不起作用,即使它是K-Lite Ref手册中的一个例子。
fac1: {:[x>1; x * fac[x-1]; 1]}
我修改它使用if而不是条件(:)并且它有效。
fac2: {if[x>1; :x * fac[x-1]]; 1}
“:[a; b; c]”语法消失了吗?什么取代了它?
KDB +的实际K版本是否有备忘单,我可以获得一份副本?
请?
我实际上爱上了K.在K中获得了一大堆Quicksort:
https://rosettacode.org/wiki/Sorting_algorithms/Quicksort#K
OMG!使其他语言看起来如此冗长!
答案 0 :(得分:2)
尝试使用$(if-else)代替:
http://code.kx.com/q/ref/control/#cond
这是学习q / kdb +的备忘单。 https://github.com/KxSystems/kdb/blob/master/d/primer.htm
IMO开始学习q会容易得多,因为有更多可用的资源。即code.kx
示例:
fac:{$[x>1; x * fac[x-1]; 1]}