2017-10-16 84 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"