cdu*_*ont 4 haskell haskell-lens
我有这些镜头:
getB :: Lens' A (Maybe B)
getC :: Prism' B C
Run Code Online (Sandbox Code Playgroud)
如何Maybe C从A中提取a ?我能找到的最好的:
case A ^. getB of
Just b -> b ^? getC
Nothing -> Nothing
Run Code Online (Sandbox Code Playgroud)
还有更优雅的吗?
_Just :: Prism' (Maybe a) a
Run Code Online (Sandbox Code Playgroud)
该_Just棱镜将让你的价值出来的Maybe。
a ^? getB . _Just . getC
Run Code Online (Sandbox Code Playgroud)