Combinando lentes
Usando umlente biblioteca Eu posso aplicar uma função de modificação para alvos individuais, assim:
Prelude Control.Lens> (1, 'a', 2) & _1 %~ (*3)
(3,'a',2)
Prelude Control.Lens> (1, 'a', 2) & _3 %~ (*3)
(1,'a',6)
Como posso combinar essas lentes individuais (_1
e_3
) ser capaz de executar esta atualização para ambos os alvos de uma só vez? Espero algo no espírito do seguinte:
Prelude Control.Lens> (1, 'a', 2) & ??? %~ (*3)
(3,'a',6)