使用J中的变量卷曲函数

时间:2015-04-01 12:46:55

标签: currying j

我可以创建一个与2乘以2&\*的函数,实际上20 = (2&\*)10

我想要做的是创建一个工厂功能,使其按顺序排列。

所以,我想要一个monad f s.t. ( f y ) x == (y * x )

虽然(\*& 2) 3工作((\*&) 2) 3没有,所以明确尝试:

(3 : 'y&*') 2会产生语法错误。

我哪里错了?

1 个答案:

答案 0 :(得分:4)

创建动词的动词实际上是J中的副词 1

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]:或结合