Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Haskell中使用元组_Haskell - Fatal编程技术网

在Haskell中使用元组

在Haskell中使用元组,haskell,Haskell,我有一个元组列表,比如xs=[(“a”,“b”),(“a”,“c”),(“b”,“d”)],我想做一个函数,它接收这个数字列表和一个元素“a”,并返回元组第二个位置的内容,其中“a”是第一个元素。 在上面的示例中,如果函数收到列表xs和字母“a”,则应返回: [“b”,“c”]lookupAll::eqa=>a->[(a,b)]->[b] lookupAll x pairs=[b |(a,b)或mappy方式,lookupAll=map snd.:filter.(.fst)。(==)很公平,我只

我有一个元组列表,比如xs=[(“a”,“b”),(“a”,“c”),(“b”,“d”)],我想做一个函数,它接收这个数字列表和一个元素“a”,并返回元组第二个位置的内容,其中“a”是第一个元素。 在上面的示例中,如果函数收到列表xs和字母“a”,则应返回: [“b”,“c”]

lookupAll::eqa=>a->[(a,b)]->[b]

lookupAll x pairs=[b |(a,b)或mappy方式,
lookupAll=map snd.:filter.(.fst)。(==)
很公平,我只是觉得这是值得的,虽然这不是一个很好的答案。我非常感谢你的贡献。我只是在评论,因为无点数通常更短更清晰,在这种情况下不是。每当我编写操作符和
(.f)
时,我都会避免使用它。我根本无法流利地阅读这些内容。。。
lookupAll :: Eq a => a -> [(a, b)] -> [b]
lookupAll x pairs = [b | (a, b) <- pairs, a == x]