【发布时间】:2018-01-30 17:29:51
【问题描述】:
我正在尝试学习 ML 中的初学者函数。我正在尝试编写一个函数,其中有一个项目和一个列表,然后遍历列表以查看是否有匹配项。但是现在我不知道如何遍历列表。
类似的函数
fun foundList(L, []) = false
| foundList(L, x::xs) if L = xs then true;
我将第一行设置为false,因为如果列表是[]那么它是空的并且语句是false?
【问题讨论】:
我正在尝试学习 ML 中的初学者函数。我正在尝试编写一个函数,其中有一个项目和一个列表,然后遍历列表以查看是否有匹配项。但是现在我不知道如何遍历列表。
类似的函数
fun foundList(L, []) = false
| foundList(L, x::xs) if L = xs then true;
我将第一行设置为false,因为如果列表是[]那么它是空的并且语句是false?
【问题讨论】:
你不迭代,你递归。
如果它是第一个元素,则值在列表中或如果它在列表的尾部:
fun foundList (_, []) = false
| foundList (L, x::xs) = L = x orelse foundList (L, xs)
【讨论】: