Istnieje przykład soczewki mapy Scalaz here: Dan Burton nazywa ją containsKey
, a inspiruje ją rozmowa Edwarda Kmetta. Istnieje również coś o nazwie mapVPLens
w Scalaz 7, które jest przydatne do modyfikowania wartości na mapie.Scalaz: jak skomponować soczewkę mapy za pomocą soczewki wartościowej?
Moje pytanie brzmi: jeśli mam soczewkę do modyfikacji typu V
i soczewkę dla Map[K,V]
, w jaki sposób mogę je skomponować? Szukałem od dawna dobrego prostego przykładu, ale w Scalaz wciąż brak jest przykładów.
Jestem zainteresowany zarówno rozwiązaniami Scalaz 6, jak i Scalaz 7.
Dzięki, to jest świetna odpowiedź. W końcu pracuję nad kompozycją soczewek współpracującą z moją aplikacją - mnóstwem kompilacji w czasie, bez runtime'owych sporów! –
Podsumowując, lewą ręką jest dodanie '.partial' do soczewki wartości, gdy mamy do czynienia z mapą. –