您还可以描述应该发生什么,当你不找4,5!
假设"Found"
您在看到4和5时想要返回字符串,"Not found"
否则.然后你可以使用这个功能:
foo :: [Int] -> String
foo (4:5:xs) = "Found"
foo (_:xs) = foo xs
foo [] = "Not found"
Run Code Online (Sandbox Code Playgroud)
如果你不想在没有看到4和5时"做任何事情",你必须将函数的返回类型更改为Maybe String
(在本例中):
foo :: [Int] -> Maybe String
foo (4:5:xs) = Just "Found"
foo (_:xs) = foo xs
foo [] = Nothing
Run Code Online (Sandbox Code Playgroud)
我会使用第二个版本,这样你就不必记住"未找到"的值.