2017-10-16 65 views
0

时应用任意函数q二元zip操作由'完成。即q - 在压缩

l1:("a1";"a2") 
l2:("b1";"b2") 
(l1,'l2)~("a1b1";"a2b2") 

我解析此'作为二元操作者'[g;l2]其中g是列出了一些二进功能的投影到一元函数,例如g:,[l1;]

因此,如果我们想要在压缩操作期间执行除,以外的任何其他映射,我将重新定义g

然而,'[g;l2]不给我预期的列表输出,但返回func

的问题是:如何将荏苒操作过程中应用任意地图?例如。我如何做l1 f' l2这样的例子,在f:,的例子中,但一般f一些二元运算符列出项目?

感谢您的帮助

回答

1

我如何荏苒操作过程中应用任意地图?

像这样:

q)f:{x+y} 
q)f'[10*x;x:til 5] 
0 11 22 33 44 

如果你喜欢缀表示法,你也可以做

q)(10*x) f' til 5 
0 11 22 33 44 

注意'[g;l1]composition。如果要制作投影,请执行

q)g:,'[l1;] 
q)g l2 
"a1b1" 
"a2b2"