这里的例子是怎么回事?
来源:http://code.kx.com/q/ref/select/#index-at
@[d;1 1 1;+;3]
((1 2 3;4 5 6 7);(17 18;19;20 21);(13 14;15 16 17 18;19 20))
答案 0 :(得分:2)
http://code.kx.com/wiki/JB:QforMortals2/functions#Functional_Forms_of_Amend
@ [L; I; F; Y]
的第二个参数
L =你的清单
I =要修改的元素索引
f =要申请的职能 y = f
您可以通过在函数中放置+
并添加一些日志记录输出来查看它的功能。在这种情况下,它索引到第二个元素d@1
,检索(8 9;10;11 12)
,添加3,结果为(11 12;13;14 15)
,使用它作为它的下一个输入,添加3,结果为{ {1}}。
(14 15;16;17 18)
或者可以看到使用over( q)@[d;1 1 1;{0N!("x is:",.Q.s1 x;"y is:",.Q.s1 y);x+y};3]
("x is:(8 9;10;11 12)";"y is:3")
("x is:(11 12;13;14 15)";"y is:3")
("x is:(14 15;16;17 18)";"y is:3")
(1 2 3;4 5 6 7)
(17 18;19;20 21)
(13 14;15 16 17 18;19 20)
):
/