我正在尝试用OCaml编写一个简单的函数(if i <= 2 then i (*if given n is less tahn 2 then return2, else return previous n-1 th term and n-2 nd term recursively*) 2 * pell i -1 + pell i - 2
else failwith "uni
作为OCaml的初学者,我正在尝试编写一个带有两个整型参数(a和b)的函数,并且应该返回一个包含所有元组(i,j)的列表,其中i介于0和a之间,j介于0和b之间,顺序并不重要。函数应该是这样的: myfunc: int -> int -> (int*int)列表,结果必须类似于(0,1);(0,2)...我已经写了一个函数,它接受两个int参数,并返回一个介于这两个参数
我想实现 函数使用 ,这是我尝试过的: let rec assoc lista x = match lista with | (a,b)::l('a * 'b) list,但表达式的类型应为'a list‘类型变量'a’出现在'a * 'b 我不知道这是意料之中的事情,还是我做错了什么。-> let ind = find l1 (List.find (fun s -> compare a x
假设我有一个由多个多态变量(协变)组成的类型,如下所示: [> `Ok of int | `Error of string] 让我们进一步假设,我希望将此定义分解为某种类型构造函数和一个具体的类型int我的第一次尝试是这样的: type 'a error = [> `Ok of 'a | `Error of string] 然而,使用这样的定义会产生一个非常奇怪的类型错误,它提到了一个类型变量'b,该变量没有出现在定义中