需要解释kdb/q脚本以保存分区表

需要解释kdb/q脚本以保存分区表,kdb,Kdb,我试图理解以下代码片段: https://code.kx.com/q/kb/loading-from-large-files/ 要自己定制它(按小时、分钟、滴答数等划分的e.x分区): 它与参数d有什么关系?(将其提升为一个答案,因为我相信它有助于回答问题) 下面是注释链:为了将k代码翻译成q代码(或者简单地理解k代码),您有几个选项,其中没有一个选项的文档记录得特别好,因为它违背了q语言的目的——成为掩盖k语言的包装器 选项1是检查.q命名空间中的内置函数 q).q |

我试图理解以下代码片段:

https://code.kx.com/q/kb/loading-from-large-files/
要自己定制它(按小时、分钟、滴答数等划分的e.x分区):

它与参数
d
有什么关系?

(将其提升为一个答案,因为我相信它有助于回答问题)

下面是注释链:为了将k代码翻译成q代码(或者简单地理解k代码),您有几个选项,其中没有一个选项的文档记录得特别好,因为它违背了q语言的目的——成为掩盖k语言的包装器

选项1是检查.q命名空间中的内置函数

q).q
          | ::
neg       | -:
not       | ~:
null      | ^:
string    | $:
reciprocal| %:
floor     | _:
...
选项2是检查创建上述名称空间的q.k脚本(注意不要编辑/更改):

选项3是在code.kx网站上查找一些文档,例如

选项4是通过谷歌搜索其他/类似版本的k的参考资料,例如k2/k3。他们倾向于相似


最后一点需要注意的是,在大多数示例中,您将在原语后面看到一个冒号(:)。在q/kdb中,使用原语的一元形式(大多数重载)需要这个冒号,而在k中,不需要显式强制使用一元形式。这就是为什么
其中
在q参考中显示为
&:
,但在实际k代码中通常只显示为
&

您熟悉q/kdb底层的k编程语言吗?大多数代码片段都需要了解k代码以及.Q名称空间的内容(.e.g“en”是.Q.en,有文档记录)我正在学习Q,我知道它在Q空间中,.Q.en用于枚举varchar。如果[~&/qm'r:+en[d]t;'
unmappable];,可能引发
不可映射错误。但总的来说,我不这么认为。正如我所说,您需要熟悉k代码(特别是k4)才能理解所有代码<代码>+是
翻转
&
其中
~
等。使用此选项,您可以用q术语重写函数,这应该会对您有所帮助understand@terrylynch. 你能和我一起看看+是翻转和&是“哪里”的链接吗。我没有在里面找到它们。谢谢你好,下面是我的答案谢谢,这对我很有帮助。
if[~&/qm'r:+en[d]t;'`unmappable];
q).q
          | ::
neg       | -:
not       | ~:
null      | ^:
string    | $:
reciprocal| %:
floor     | _:
...
vi $QHOME/q.k