【发布时间】:2021-12-19 12:55:18
【问题描述】:
定义
listCheck :: [[Char]] -> [[Char]] -> Bool决定第一个参数的单词列表是否包含也在第二个参数列表中的单词的函数。我们可以假设两个列表都只包含小写字母。如果至少有一个参数是空列表,则返回
False。例如:
listCheck ["hey", "hello", "hi"] ["whatsup", "hi"] == TruelistCheck ["hey", "hello", "hi"] ["whatsup"] == False
到目前为止,我已经尝试过:
listCheck [] _ = False
listCheck _ [] = False
listCheck (x:xs) [y]
| x == y = True
| otherwise = listCheck (xs) [y]
这符合我的预期。它只检查第二个参数的第一个元素(如果第二个列表只有一个元素,它总是返回正确的值,所以至少我做对了)。我不知道如何为第二个列表的其余元素实现递归。
【问题讨论】:
-
这些不是参数,而是参数。参数是变量,参数是值。