C'è un esempio di un obiettivo di mappa di Scalaz here: Dan Burton lo chiama containsKey
ed è ispirato dal discorso di Edward Kmett. C'è anche qualcosa chiamato mapVPLens
in Scalaz 7 che è utile per modificare i valori in una mappa.Scalaz: come comporre un obiettivo mappa con un obiettivo di valore?
La mia domanda è: se ho un obiettivo per modificare il tipo V
e un obiettivo per un Map[K,V]
, come posso comporli? Ho cercato un po 'per un buon esempio semplice, ma c'è ancora una mancanza di esempi in Scalaz.
Sono interessato alle soluzioni Scalaz 6 e Scalaz 7.
Grazie, questa è un'ottima risposta. Finalmente sto ottenendo la composizione delle lenti che funziona con la mia applicazione: un sacco di discussioni in fase di compilazione, nessun conflitto di runtime! –
In sintesi, il trucco consiste nell'aggiungere '.partial' all'obiettivo value quando si ha a che fare con una mappa. –