类型与 List.map2 不匹配
Type mismatch with List.map2
考虑以下因素
let l1 = [1..10]
let l2 = [11..20]
let avg = fun x y-> (x+y)/2.
let c = (l1, l2) ||> List.map2 avg
这给出了错误
Type mismatch. Expecting a int -> int -> 'a but given a
int -> int -> float The type 'float' does not match the type 'int'
为什么会发生这种情况,我该如何解决?
这似乎对我有用。
let l1 = [1..10]
let l2 = [11..20]
let avg = fun x y-> float(x+y) / 2.
let c = (l1, l2) ||> List.map2 avg
F# 没有从 int
到 float
的自动转换。 (x+y)
是一个 int
值,2.
是一个 float
值。显式转换分子:
let avg = fun x y -> float (x+y) / 2.
考虑以下因素
let l1 = [1..10]
let l2 = [11..20]
let avg = fun x y-> (x+y)/2.
let c = (l1, l2) ||> List.map2 avg
这给出了错误
Type mismatch. Expecting a int -> int -> 'a but given a
int -> int -> float The type 'float' does not match the type 'int'
为什么会发生这种情况,我该如何解决?
这似乎对我有用。
let l1 = [1..10]
let l2 = [11..20]
let avg = fun x y-> float(x+y) / 2.
let c = (l1, l2) ||> List.map2 avg
F# 没有从 int
到 float
的自动转换。 (x+y)
是一个 int
值,2.
是一个 float
值。显式转换分子:
let avg = fun x y -> float (x+y) / 2.