地图上的非交换交叉

ДМИ*_*КОВ 1 haskell map

如何定义函数,对于第一个映射的每个键查找第二个映射的值,将一些函数应用于这两个值并生成第三个映射?

? (? ? Maybe ? ? ?) ? Map k ? ? Map k ? ? Map k ?

我打得有点用的一些组合unionWith,differenceWithintersectionWith,而是停留在与它们混合lookup.

Dan*_*her 5

foo :: (? ? Maybe ? ? ?) ? Map k ? ? Map k ? ? Map k ?
foo comb ma mb = Map.mapWithKey (\k a -> comb a (Map.lookup k mb)) ma
Run Code Online (Sandbox Code Playgroud)

你想要什么?