我觉得这应该比我做的更容易,但我在使用这个功能时会遇到一些麻烦,应该将一个集合更改为一个列表。
fun explode(st(x, xs)) =
let
val listTemp = []
in
if isEmpty(xs) then listTemp::x else explode(xs)::x
end
| explode(nilset) = [];
我遇到了类型冲突,说我正试图从''a list list
转到''a list
。任何帮助将不胜感激。
编辑:说''列表 - > ''列表... oops。
答案 0 :(得分:4)
::
运算符的左操作数应该是一个元素,右操作数应该是一个列表。您正在使用它,列表作为左操作数,元素作为右操作数。那是类型错误。
假设生成列表的顺序无关紧要,您只需切换操作数即可。如果它确实重要,您仍然可以切换操作数,然后在构建完整列表后使用List.rev
来反转结果列表。