如何使用镜头语法检查地图是否有密钥?

时间:2014-02-27 20:34:19

标签: haskell lens

如何使用镜头语法检查地图是否有密钥?

import qualified Map as Map

let x = Map.member "bla" m

如何使用镜头写这个?

2 个答案:

答案 0 :(得分:4)

使用has

M.fromList [("bla", ())] & has (ix "bla")

答案 1 :(得分:1)

Use the Contains instance.

>>> Map.fromList [("bla", ())] ^. contains "bla"
True

>>> Map.fromList [("bla", ())] & contains "bla" .~ False
Map.fromList []