我正在Haskell的一个项目上工作,我需要一个全局变量.目前我这样做:
funcs :: Map.Map String Double
funcs = Map.empty
eliminate :: Maybe a -> a
eliminate (Just a) = a
insert :: String -> Double -> Map.Map String Double -> Map.Map String Double
insert key value cache = Map.insert key value cache
f = do
let aux = insert "aaa" 1 funcs
let funcs = aux
.........
g = do
if (Map.lookup "aaa" funcs) == Nothing then error "not defined" else putStr "ok"
Run Code Online (Sandbox Code Playgroud)
问题是总是g函数抛出错误.你知道我怎样才能模拟全局变量?