Check::String->Bool
Check = undefined
我只能使用列表解析,我只能使用基本函数和库函数。有人可以帮帮我吗?我知道只能这样做,就像这样:
charfound::Char->String->Bool
charFound c(x:xs) | c==x=True
|otherwise=charFoundc XS
答案 0 :(得分:4)
check :: String -> Bool
check = all (\e -> e `notElem` ['a', 'e', 'i', 'o', 'u'])
以下是解释:
(\e -> e notElem ['a', 'e', 'i', 'o', 'u'])
是一个接受e
的函数,并返回它是否不是小写元音的元素。
all
需要一个。将元素转换为布尔值的谓词,以及b。这些元素的数组,并返回谓词对于数组的所有元素是否为真。
另一件可能有用的事情是注意这是使用point-free notation编写的,但它相当于
check s = all (\e -> e `notElem` ['a', 'e', 'i', 'o', 'u']) s