1

最初のマップルックアップの各キーに対して2番目のマップの値を定義し、これら2つの値に関数を適用して、3番目のマップを生成するにはどうすればよいですか?

∷ (α → Maybe β → γ) → Map k α → Map k β → Map k γ

、、のいくつかの組み合わせで少し遊んだのですがunionWith、それらを。differenceWithintersectionWith混ぜることに固執しましたlookup

4

1 に答える 1

5

foo :: (α → Maybe β → γ) → Map k α → Map k β → Map k γ
foo comb ma mb = Map.mapWithKey (\k a -> comb a (Map.lookup k mb)) ma

あなたが欲しいもの?

于 2012-06-10T21:53:59.877 に答える