Kdb 奇怪的视图声明行为

Kdb 奇怪的视图声明行为,kdb,k,Kdb,K,在Q3.6 32位中,我看到了一些我无法解释的东西。由于具有相同的解析树,y1和y2的这两个表达式给出了太不同的结果: q)x:3 q)parse"y :: x*10" :: `y (*;`x;10) q)parse"y:: x*10" :: `y (*;`x;10) q)y1 :: x*10 q)y2:: x*10 q)x:5 q)y1 30 q)y2 50 为什么空格在这里如此有意义?我认为在kdb中定义视图的条件是变量和之间不应有空格: 因此,在您

在Q3.6 32位中,我看到了一些我无法解释的东西。由于具有相同的解析树,
y1
y2
的这两个表达式给出了太不同的结果:

q)x:3
q)parse"y :: x*10"
::
`y
(*;`x;10)
q)parse"y:: x*10"
::
`y
(*;`x;10)
q)y1 :: x*10
q)y2:: x*10
q)x:5
q)y1
30
q)y2
50

为什么空格在这里如此有意义?

我认为在kdb中定义视图的条件是变量和之间不应有空格:


因此,在您的示例中,y2是一个视图,y1不是,因此当您重新定义x时,y2的值在引用时更新,y1不是

我相信在kdb中定义视图的条件是变量和之间不应有空格:


因此,在您的示例中,y2是一个视图,而y1不是,因此当您重新定义x时,y2的值在引用时会更新,y1不是

Adams回答您的问题-作为补充说明,“视图不可解析”,因此您的解析比较实际上无效。请参阅Adams答案-回答您的问题-作为补充供参考,“视图不可解析”,因此您的解析比较实际上无效。看见