gpt4 book ai didi

haskell - Haskell 问题有标准库解决方案吗?

转载 作者:行者123 更新时间:2023-12-02 16:48:42 25 4
gpt4 key购买 nike

我想使用 Data.List.groupBy 根据 snd 元素的相等性对元组列表进行分组。
我可以这样做:

groupBy (\l r -> snd l == snd r) listOfTuples

但我觉得比较函数中的样板代码太多了——特别是因为如果我进行更复杂的比较,它可能会变得更加困惑。我想做这样的事情:

groupBy (comparing snd) listOfTuples

但是比较的类型签名是compareing::(Ord a) => (b -> a) -> b -> b -> Ordering,所以它不能在此编译示例。
我还可以这样做:

groupBy (\l r -> (comparing snd l r) == EQ) listOfTuples

但这并不比第一次尝试好。在我自己推出之前,是否有一个标准库解决方案可以解决这个问题?

最佳答案

groupBy ((==) `on` snd) listOfTuples

我认为标准库中曾经有equating = on (==),尽管我现在似乎找不到它。

关于haskell - Haskell 问题有标准库解决方案吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7477386/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com