【发布时间】:2021-05-17 13:22:51
【问题描述】:
我正在尝试在 sml 中编写一个函数,该函数接受一个对列表并返回所有元素的两个列表的对 意思是如果输入是 [(1, 2.0), (2, 3.0)] 输出应该是 ([1, 2], (2.0, 3.0))
fun divide nil = (nil , nil)
| divide [(a, b)::nil] = ([a], [b])
| divide [(a, b)::myTl] =
let
val (x, y) = divide myTl
in
(a::x, b::y)
end
;
sml 解释器返回的错误越少
Error: operator and operand do not agree [tycon mismatch]
operator domain: ('Z * 'Y) list list
operand: ('Z * 'Y) list
in expression:
divide myTl
【问题讨论】: