我正在尝试学习ML中的初学者功能。我正在尝试编写一个函数,其中有一个项目和一个列表,然后遍历列表以查看是否存在匹配项。但是现在我不知道如何遍历列表。
像
这样的功能fun foundList(L, []) = false
| foundList(L, x::xs) if L = xs then true;
我将第一行设置为false,因为如果列表是[],那么它是空的并且语句是假的?
答案 0 :(得分:2)
你没有迭代,你递归。
如果值是第一个元素或,如果它位于列表的尾部,则值在列表中:
fun foundList (_, []) = false
| foundList (L, x::xs) = L = x orelse foundList (L, xs)