我正在通过Kx技术培训课程,有一条线说
"Enlist适用于所有数据对象;任何数据对象的结果都是单项目列表,其项目是该对象.例如"
enlist(2 5;3.5 10 12)
,(2 5;3.5 10 12)
Run Code Online (Sandbox Code Playgroud)
该结果不是浮点数的一维列表.它是一个二维列表,其中唯一的元素是浮点数的一维列表
但是,当我完全按照QI做的例子时,不要那样做.我明白了
enlist(2 5;3.5 10 12)
2 5 3.5 10 12
Run Code Online (Sandbox Code Playgroud)
所以下面的工作,我期望不能工作给出所谓的结构的解释:
enlist(2 5;3.5 10 12)+1
3 6 4.5 11 13
Run Code Online (Sandbox Code Playgroud)
这是怎么回事?
小智 5
它只是q控制台显示输出的方式.您的清单仍然有效.
如果你做一个简单的计数,你会发现差异:
q)count (2 5;3.5 10 12) / a list with 2 elements
2
q)count enlist (2 5;3.5 10 12) / a list with 1 element
1
Run Code Online (Sandbox Code Playgroud)
甚至是简单的索引:
q)(2 5;3.5 10 12)0 / get the first element of the list
2 5
q)enlist[(2 5;3.5 10 12)]0 / get the first element of the enlisted list
2 5
3.5 10 12
Run Code Online (Sandbox Code Playgroud)
或者你可以切换到k控制台来查看结果:
q)\
(2 5;3.5 10 12)
(2 5;3.5 10 12)
.q.enlist(2 5;3.5 10 12)
,(2 5;3.5 10 12)
Run Code Online (Sandbox Code Playgroud)
同时+运营商致力于通过嵌套结构,这就是为什么它会不会报错了.