【发布时间】:2018-02-02 17:03:00
【问题描述】:
我试图在这里做所有事情,但什么也没发生。当我在没有空列表的情况下调用它时,代码可以正常工作,但是一旦我输入空列表 [] 就会出错。它会弹出“虚拟类型”警告和以下代码中的一些错误:
fun zip(xs1, x2) =
case xs1 of
[] => []
| (h1::t1) => (case x2 of
[] => []
| (h2::t2) => (h1, h2) ::zip(t1,t2));
输出应该是一个由元组创建的列表,这些元组是输入列表的头部,具有较短列表的长度。正如您在图片中看到的那样,代码本身没有错误,至少不是编译器识别的错误,就在我用空列表调用函数时。
老实说,我不知道那里发生了什么。有人可以向我解释一下这种类型的错误是什么意思,我怎样才能修复代码没有它?
【问题讨论】: