在Haskell中,我可以使用下面的代码:
最终目标是按第二个值对一组成对进行分组。通过这样做,我可以进行以下操作:
sortBy (comparing snd)
按元组中第二个值排序,有相应的函数吗?我已经想出了这个方法,但也许标准库中有更好的解决方案。
是否有测试等价性的等效函数?我已经想出了下面的代码,但是标准库中可能有更好的方法。
equalsBy :: Eq b => (a -> b) -> a -> a -> Bool
equalsBy f x y = f x == f y
最终目标是按第二个值对一组成对进行分组。通过这样做,我可以进行以下操作:
groupBy (equalsBy snd) pairs
替代
groupBy (\x y -> (snd x) == (snd y)) pairs