【发布时间】:2013-09-02 15:26:10
【问题描述】:
我正在尝试在 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 分支的类型不一致 [循环性] 然后分支:''Z list list list else 分支:''Z 列表列表 表达方式:
如果 ha = nil 则 ta :: hb :: tb else ha :: inv (ta, :: )
谁能帮我解决这个问题?
【问题讨论】:
-
怎么样:
fun inv (xs, ys) = rev xs @ ys