我對Haskell和Snap相當新,我正在通過我自己的項目爲小型網絡論壇使用管理單元。我遇到的問題是瞭解衝突以及如何解決以下代碼。哈斯克爾Snap框架 - 類型不匹配ByteString /也許ByteString
handleCategoryAdd :: H()
handleCategoryAdd = method POST (withLoggedInUser go)
where
go user = do
bs <- getParam "categoryName"
cN <- B.unpack $ Just bs
cD <- getParam "categoryDesc"
cT <- getCurrentTime
return (Db.saveCategory (Db.Category 1 cN cT "1"))
redirect "/"
給了我一個類型不匹配錯誤如下:
src\Site.hs:118:22:
Couldn't match expected type `ByteString'
with actual type `Maybe ByteString'
In the first argument of `unpack', namely `bs'
In a stmt of a 'do' block: cN <- unpack bs
In the expression:
do { bs <- getParam "categoryName";
cN <- unpack bs;
cD <- getParam "categoryDesc";
cT <- getCurrentTime;
.... }
任何意見,清理混亂將不勝感激,我一直在尋找一些方法來或許解開了,只是檢索字節串,但不成功。
非常感謝!
歡呼,這有助於! – stickybynature
你會如何使用>> =在這種情況下? – stickybynature