我编写了自己的指数(^)函数版本,适用于简单的标量:
3:'+ /(y& ^%!)i.50'
它不适用于列表,所以我想用“0
修改它3:'+ /(y“0& ^%!)i.50'
这适用于列表,但给出了错误的答案。
出现两个问题:
1)鉴于我使用的“0不起作用,有没有呢?
2)如果我无法访问这样的功能定义,那么将它应用于数组的各个元素的最佳方法是什么?
答案 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