我正在尝试在 SML 上执行一个函数,该函数反转第一个列表,然后与第二个列表连接(类似于:list1 = [5,3,1] 和列表 2 = [6 7 8],然后是 inv(list1, list2) = [ 1,3,5,6,7,8].) 下面是代码:
fun inv (nil,nil) = []
|inv (ha::ta,hb::tb) =
if ha = [] then ta::(hb::tb)
else ha::inv(ta,hb::tb);
它返回这个:
错误:if 分支的类型不同意 [循环性] then branch: ''Z list list list else branch: ''Z list list in expression:
如果 ha = nil 则 ta :: hb :: tb 否则 ha :: inv (ta, :: )
任何人都可以帮我解决这个问题吗?