我正在 Haskell 中编写一些图形函数,我想检查整数列表,例如
[1,4, 5, 7]
包含形成边的顶点,我将其表示为元组,如下所示
(1,5)
我试图采用一个接受列表和元组的函数,在这种情况下会返回 true,因为列表包含 1 和 5。我遇到的主要问题是我真的不知道如何搜索Haskell 中的列表。他们是一个函数,它接受类型 [a] 的列表和类型 a 的值,并根据 [a] 是否包含 a 返回一个 Bool ?
最佳答案
有一个函数可以检查一个值是否在列表中,
elem :: Eq a => a -> [a] -> Bool
使用它,您的函数可以轻松定义。
containsEdge :: [Int] -> (Int,Int) -> Bool
xs `containsEdge` (a,b) = (a `elem` xs) && (b `elem` xs)
关于haskell - 我如何使用 haskell 检查列表是否包含元组中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9624655/