视图定义的前缀表示法

Prefix notation for view definition

我认为(几乎)任何 q 函数都可以使用前缀和中缀表示法互换调用。但后来我试过了:

$ q
KDB+ 3.6 2019.04.02 Copyright (C) 1993-2019 Kx Systems
q)a:10
q)b::a
q)a:11
q)b
11
q)view `b
,"a"

看起来不错,但对于:

q)::[b;a]
q)a:12
q)b
11
q)view `b
'type
  [0]  view `b
       ^

出了点问题。解析树看起来一样:

q)parse "b::a"
::
`b
`a
q)parse "::[b;a]"
::
`b
`a

请问能不能帮帮我,为什么视图定义的前缀符号无法定义视图?

观点很特别。他们的定义必须从第一列开始:

q) a::b / not a view but an assignment with b undefined
'b
  [0]   a::b
           ^

q)a::b / a view
q)

并且它们不能用 -5! 解析,请参阅本页底部:https://code.kx.com/q/ref/parse/