在列表上映射j函数(使用已定义)

时间:2015-03-24 14:41:28

标签: function j

我编写了自己的指数(^)函数版本,适用于简单的标量:

3:'+ /(y& ^%!)i.50'

它不适用于列表,所以我想用“0

修改它

3:'+ /(y“0& ^%!)i.50'

这适用于列表,但给出了错误的答案。

出现两个问题:

1)鉴于我使用的“0不起作用,有没有呢?

2)如果我无法访问这样的功能定义,那么将它应用于数组的各个元素的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

您需要对要映射"0的函数应用排名结合(y&^%!),而不是其参数y

 3 : '+/(y&^%!)"0 i.50'

但是,精度不如原始^

   a =: 3 : '+/(y&^%!)"0 i.50' 4 4 $ 10+i.20
   b =: ^ 4 4 $ 10+i.20
   a = b
1 1 1 1
0 0 0 0
0 0 0 0
0 0 0 0