OCaml:函数输入(\'a *\'b->\'c)
|
let rec
map2 (f : \'a * \'b -> \'c) (l1 : \'a list) (l2 : \'b list) : \'c list =
match (l1,l2) with
| ([], []) -> []
| (x::l1),(y::l2) -> f (x, y)::(map2 f (l1, l2))
它正在返回:
Error: This expression has type \'a list * \'a list
but an expression was expected of type \'a list
我在这里做错了什么?
没有找到相关结果
已邀请:
1 个回复
疮痪徘弦漏
(错误位置会告诉您)。您将
作为元组传递,而它们应该是单独的咖喱参数:
。 同样,您的函数不能处理不同长度的情况(一个列表为空但另一列表为空的模式)。在这种情况下,该函数将引发匹配失败,您可能需要引发更专业的错误,例如
之类的东西。