1
如何定義函數,爲第一張地圖查找每個鍵的第二張地圖的值,對這兩個值應用一些函數並生成第三張地圖?地圖上的非交換性交集
∷ (α → Maybe β → γ) → Map k α → Map k β → Map k γ
我打得有點與unionWith
,differenceWith
和intersectionWith
一些組合,而是停留在與lookup
混合它們。
如何定義函數,爲第一張地圖查找每個鍵的第二張地圖的值,對這兩個值應用一些函數並生成第三張地圖?地圖上的非交換性交集
∷ (α → Maybe β → γ) → Map k α → Map k β → Map k γ
我打得有點與unionWith
,differenceWith
和intersectionWith
一些組合,而是停留在與lookup
混合它們。
是
foo :: (α → Maybe β → γ) → Map k α → Map k β → Map k γ
foo comb ma mb = Map.mapWithKey (\k a -> comb a (Map.lookup k mb)) ma
你想要什麼?