完全限定的上下文名称(两个点)

Fully qualified context name (two dots)

当用两个点引用全局上下文变量 a 时,它们是什么意思(例如在 https://code.kx.com/q/ref/key/ 中):

q)a:1
q)get `..a
1

为什么这个地址正好指向根命名空间变量a

更新:

感谢@terrylynch 的回答,终于搞定了!根命名空间的名称是

`.

因为命名空间 .foo 的名称是:

`.foo

所以只需添加 .a 就可以得到

`..a
`.foo.a

作为结果。

这个页面解释得更好:https://code.kx.com/q4m3/12_Workspace_Organization/#121-namespaces

通用字典(非统一值)和命名空间(本质上是通用字典)可以使用点符号来访问其值

q)d:``a`b!(::;1;2)
q)d
 | ::
a| 1
b| 2
q)d.a
1
q)\d .foo
q.foo)a:11
q.foo)\d .
q)
q).foo.a
11

访问此类值的另一种方法是

q)`.foo[`a]
11
q)get`.foo.a
11

但由于 `. 是根命名空间,因此

q)a:100
q)`.[`a]
100
q)get`..a
100