我还没有完全理解镜头。
applicationState = (
'a',
'b',
( M.fromList $ zip [1..3] [11,22,33],
M.fromList $ zip [4,5,6] [44,55,66],
M.fromList $ zip [7,8,9] [M.fromList $ zip [2,3,4] ["77","777","7777"],
M.fromList $ zip [2,3,4] ["88","888","8888"],
M.fromList $ zip [2,3,4] ["99","999","9999"]] )
)
有没有更惯用的镜头方式来做到这一点:
λ> view (_3 . _3 . at 9) applicationState >>= view (at 4) >>= return . ('9':)
Just "99999"