使用 J 中的变量柯里化函数
Currying a function with a variable in J
我可以创建一个函数,将 2
与 2&\*
相乘,实际上 20 = (2&\*)10
我想做的是创建一个工厂函数,使这些按订单进行。
所以,我想要一个 monad f s.t。 ( f y ) x == (y * x )
虽然 (\*& 2) 3
有效 ((\*&) 2) 3
无效,因此明确尝试:
(3 : 'y&*') 2
产生语法错误。
我哪里错了?
构成动词的动词实际上是副词1 in J:
f =: 1 : 'm&*'
2 f
2&*
(2 f) 5
10
(i.10)f 5
0 5 10 15 20 25 30 35 40 45
或默认:
f =: &*
2 f
2&*
h =: 3 :'...'
不会工作,因为它会产生一个动词,然后 h y
想成为一个名词。
g =: 4 :'x&* y'
很好,相当于 f
.
[1]: 或连词
我可以创建一个函数,将 2
与 2&\*
相乘,实际上 20 = (2&\*)10
我想做的是创建一个工厂函数,使这些按订单进行。
所以,我想要一个 monad f s.t。 ( f y ) x == (y * x )
虽然 (\*& 2) 3
有效 ((\*&) 2) 3
无效,因此明确尝试:
(3 : 'y&*') 2
产生语法错误。
我哪里错了?
构成动词的动词实际上是副词1 in J:
f =: 1 : 'm&*'
2 f
2&*
(2 f) 5
10
(i.10)f 5
0 5 10 15 20 25 30 35 40 45
或默认:
f =: &*
2 f
2&*
h =: 3 :'...'
不会工作,因为它会产生一个动词,然后 h y
想成为一个名词。
g =: 4 :'x&* y'
很好,相当于 f
.
[1]: 或连词