我想定义一个带3个参数并返回列表的函数。参数将是任何类型,然后其他两个参数是任何类型的列表。这是一个例子......
fun func x [y] [z] = [x, y, z];
即使函数评估为正确的数据类型,我也会得到匹配非详尽的警告。
在这个例子中,我没有得到同样的警告......
fun func x y = (y, x);
应该是因为列表,但我不知道如何处理它,所以我实际上没有看到警告。
答案 0 :(得分:1)
你收到了警告,因为你只告诉你的函数在传递一个元素和两个列表时要做什么,其中每个列表只有1个元素。如果这些列表中的一个或两个具有少于1个或多于1个元素会发生什么?
您熟悉@
吗?它可能会帮助你编写你似乎有意写的函数,但没有那个警告。