在列表上映射 j 函数(使用定义)
mapping j function (used defined) over a list
我已经编写了我自己的指数 (^) 函数版本,它适用于简单的标量:
3 : '+/ (y&^%!) i.50'
它不适用于列表,所以我想用“0
修改它
3 : '+/ (y"0&^%!) i.50'
这适用于列表,但给出了错误的答案。
出现两个问题:
1) 鉴于我对“0 的用法不起作用,是否有一个可以起作用?
2) 如果我无法访问这样的函数定义,那么将它应用于数组的各个元素的最佳方法是什么?
您需要在要映射的函数 (y&^%!)
上应用秩连词 "0
,而不是它的参数 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
我已经编写了我自己的指数 (^) 函数版本,它适用于简单的标量:
3 : '+/ (y&^%!) i.50'
它不适用于列表,所以我想用“0
修改它3 : '+/ (y"0&^%!) i.50'
这适用于列表,但给出了错误的答案。
出现两个问题:
1) 鉴于我对“0 的用法不起作用,是否有一个可以起作用?
2) 如果我无法访问这样的函数定义,那么将它应用于数组的各个元素的最佳方法是什么?
您需要在要映射的函数 (y&^%!)
上应用秩连词 "0
,而不是它的参数 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