Avere queste importazioni:ottenere più risultati dalla mappa con la "lente"
> import Control.Lens
Control.Lens> import qualified Data.Map as Map
e un valore mappa definito come segue:
Control.Lens Map> let m = Map.fromList [('a', 1), ('c', 3), ('b', 2)]
posso ottenere che sia gli elementi uno per uno in questo modo:
Control.Lens Map> view (at 'b') m
Just 2
Quello che voglio sapere è, avendo un set di chiavi di questo tipo:
Control.Lens Map> import qualified Data.Set as Set
Control.Lens Map Set> let keys = Set.fromList ['d', 'c', 'b']
come costruire un tale getter (credo), con il quale sarò in grado di ottenere un insieme (o una lista) di elementi corrispondenti:
Control.Lens Map Set> view (**???**) m
[3, 2]
Si noti che il risultato contiene solo 2 elementi, perché non c'è corrispondenza per una chiave 'd'
.
Accetta questa risposta. È molto meglio del mio –
Eccellente! Ho sentito che doveva essere semplice. Grazie! –