我对 Haskell 中的 monad 没有很好的把握,我不知道如何解决这个问题。
以下代码包含在 do 语句中。
(...)
x <- runDB $ do
receipts <- selectList [] []
users <- selectList [] []
receiptUsers <- selectList [] []
return $ joinTables3 receiptUserUserId receiptUserReceiptId receiptUsers users receipts
let allUsers = runDB $ do
receipts <- selectList [] []
users <- selectList [] []
receiptUsers <- selectList [] []
return $ joinTables3 receiptUserUserId receiptUserReceiptId receiptUsers users receipts
let answer = functionUsingValue x --functionUsingValue allUsers
(...)
每个变量都不清楚它在这里是什么,但我希望这对我的问题来说不是问题。
我的目标是创建一个函数,它返回与 x 中存储的值完全相同的值,但我现在所拥有的不正确,而是该函数返回一个 monad。我怎么能做到这一点?
提前致谢。