20

これらのインポートを持つ:

> import Control.Lens
Control.Lens> import qualified Data.Map as Map

および次のように定義されたマップ値:

Control.Lens Map> let m = Map.fromList [('a', 1), ('c', 3), ('b', 2)]

次のように要素を 1 つずつ取得できます。

Control.Lens Map> view (at 'b') m
Just 2

私が知りたいのは、次のようなキーのセットを持っていることです:

Control.Lens Map> import qualified Data.Set as Set
Control.Lens Map Set> let keys = Set.fromList ['d', 'c', 'b']

一致する要素のセット (またはリスト) を取得できるように、そのようなゲッターを構築する方法 (私は推測します):

Control.Lens Map Set> view (**???**) m
[3, 2]

key に一致するものがないため、結果には 2 つの要素しか含まれていないことに注意してください'd'

4

2 に答える 2