是否有标准的reverseLookup功能?

时间:2017-05-26 06:23:08

标签: haskell

我正在寻找具有以下功能签名的内容

Eq b => b -> [(a, b)] -> Maybe a

1 个答案:

答案 0 :(得分:1)

您可以使用基础包中的模块Data.List中的函数find :: (a -> Bool) -> [a] -> Maybe a。不幸的是,我现在无法测试代码,但它可能是这样的:

sndLookup :: Eq b => b -> [(a, b)] -> Maybe a
sndLookup query = fst <$> find (\(_,b) -> b == query)