1
我想從Haskell的sqlite簡單包使用fold_函數,但我該如何調用它?我主要在'do block'中,但我的嘗試都沒有能夠編譯。我能夠使query_函數正常工作,但現在我需要逐個檢索一個值。作爲一個例子,我試圖從數據庫中總結一個整數列表。Haskell sqlite簡單摺疊IO
main :: IO()
main = do
conn <- open "C:\\project.DB"
theSum <- fold_ conn "SELECT rserial from conitr1" 0 (\tot val -> val + tot)
close conn
據我所知,它正在做一個IO操作,我可能需要指定某處的類型,但沒有任何我嘗試似乎工作。 API文檔是在這裏http://hackage.haskell.org/packages/archive/sqlite-simple/0.4.2.0/doc/html/Database-SQLite-Simple.html#v:fold
嘗試在您的lambda中給出'val'和'tot'類型簽名,如下所示:'(\ tot val - >(val :: Int)+(tot :: Int))''。 –
我終於明白了!事實證明MySQL-simple具有非常類似的API。這裏是匿名函數應該是'(\ tot(Only val) - > return $(val :: Int)+ tot)' – DOKKA