在KDB+;中使用KQ与条件分支

在KDB+;中使用KQ与条件分支,kdb,k,Kdb,K,我想,要成为一名真正的KDB专家,我应该学习K,对吗?所以我可以写一些快速函数,了解实际工作原理,等等 我发现阶乘的这个定义不起作用,即使它是K-Lite参考手册中的一个例子 fac1: {:[x>1; x * fac[x-1]; 1]} 我将其修改为使用if而不是条件(:),并且它可以工作 fac2: {if[x>1; :x * fac[x-1]]; 1} “[a;b;c]”语法消失了吗?什么取代了它 对于KDB+的底层K的实际版本是否有一份备忘单,我可以从中获取副本 求你了

我想,要成为一名真正的KDB专家,我应该学习K,对吗?所以我可以写一些快速函数,了解实际工作原理,等等

我发现阶乘的这个定义不起作用,即使它是K-Lite参考手册中的一个例子

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中获得大量的快速排序:

天哪!让其他语言显得如此冗长

尝试使用$(如果不是):

这是学习q/kdb+的备忘单

在IMO中,由于有更多的可用资源,开始学习q会容易得多。i、 e代码.kx

例如:


fac:{$[x>1;x*fac[x-1];1]}

据我所知,它似乎也在K函数内部工作。谢谢是的,美元接线员是k的本地人。请记住,以最简单的形式,q是用k编写的函数的附加层。看看$QHOME/q.k:)@JSLover:请注意,用k编写函数不会使它们比等效的q实现快多少。@Igorkov我假设,通过学习阅读k,我将能够学习q.k并理解底层的数据结构。当我了解事情的真正运作方式时,我将能够做各种很酷的事情,比如编写我自己的连接操作符,等等。我说得通吗?