在列表SML中查找元素

时间:2018-01-30 08:12:45

标签: iteration sml

我正在尝试学习ML中的初学者功能。我正在尝试编写一个函数,其中有一个项目和一个列表,然后遍历列表以查看是否存在匹配项。但是现在我不知道如何遍历列表。

这样的功能
fun foundList(L, []) = false
    | foundList(L, x::xs) if L = xs then true;

我将第一行设置为false,因为如果列表是[],那么它是空的并且语句是假的?

1 个答案:

答案 0 :(得分:2)

你没有迭代,你递归。

如果值是第一个元素,如果它位于列表的尾部,则值在列表中:

fun foundList (_, []) = false
  | foundList (L, x::xs) = L = x orelse foundList (L, xs)