我正在尝试创建一个包含{"id":275,"method":"setvalue","params":"50.00"}* Closing connection 0
函数的迭代函数和一个自然数,该自然数指示对该函数进行多少次迭代。它将输出另一个'a => 'a
函数。
输入示例:
'a => 'a
let func: int => int = num => x-2;
将输出iterate(func,3)
或func(func(func()))
但是,我有此代码
x-6
它正在let rec iterate: ('a => 'a,int) => ('a => 'a) = (f,n) =>
switch(n){
| 1 => f
| x when x > 1 => f(iterate(f,n-1))
};
下给我这个错误
f(iterate(f,n-1))
编辑:出于某种原因,我认为这与编译器以This expression has type 'a => 'b but an expression was expected of type ('a => 'b,'a) => 'b.
形式读取的第一行中的类型签名有关,我不知道为什么会这样读取。 >
当我将('a => 'a,int,'a) => 'a
更改为
iterate
编译器显示
let rec iterate = (f: 'a => 'a,n: int): ('a => 'a) => f;