有没有办法从单子中取出"东西"?
我正在开发一款游戏,现在我正在尝试了解数据库.我发现happstack非常好,但我无法得到这个东西.
例如,我有这个功能(希望你熟悉happstack)
getAllThings :: MonadIO m => m [Thing]
getAllThings = do
elems <- query GetThings
return elems
Run Code Online (Sandbox Code Playgroud)
所以我明白了m [Things],但我不能在我的模型中使用它!例如
doSomeThingWithThings :: [Thing] -> Something
Run Code Online (Sandbox Code Playgroud)
我用Google搜索了一下,但我一无所获.
bra*_*vit 17
您不应该以这种方式退出IO monad(unsafePerformIO函数除外),但您仍然可以在其中使用您的函数:
process :: MonadIO m => m ()
process = do
elems <- getAllThings
let smth = doSomeThingWithThings elems
-- ...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3241 次 |
| 最近记录: |