【发布时间】:2012-05-31 16:15:52
【问题描述】:
我正在尝试获取数组中 4 个相邻数字的最大乘积 这就是我现在得到的:
let max4 line =
let rec loop acc = function
|a :: b :: c :: [] -> acc
|a :: b :: c :: d :: tl -> loop (max(acc, a*b*c*d)) tl
|_ -> 0
loop 0 line
我在max(,) 上遇到编译错误:
错误 FS0001:类型不匹配。期待一个 'a 但给定一个 'a * 'b -> 'a * 'b 统一 ''a' 和 ''a * 'b -> 'a * 'b' 时产生的类型是无限的
有人知道这段代码有什么问题吗? (或其他解决方案)
【问题讨论】:
-
数组还是列表?您的问题是数组,但您的代码正在使用列表...