【发布时间】:2026-02-19 00:45:01
【问题描述】:
我是 Haskell 的新手,想知道是否有一种简单的方法可以创建一个数据结构,我可以通过连续的函数调用向其中添加记录,并且不会在函数调用之间丢失结构的状态(持久?),没有对数据库的需求。所以我有:
data Book = Book { title :: String
, author :: String
, ISBN :: String
}
deriving (Eq, Show)
type BookShelf = [Book]
我很欣赏 Haskell 这样做的方法是复制数据结构并在尝试执行此类操作时返回更新。所以这将是这样的:
addToBookShelf :: Book -> BookShelf -> BookShelf
addToBookShelf b bs = b : bs
所以我可以从其他函数递归调用它来填满书架。我不相信这对我有用,因为我试图通过 JSON PUT 请求添加记录,并且我不想返回更新的列表以供外部 HTTP 客户端递归调用的函数?我敢肯定,这个问题一定有一个简单的答案!
附加信息:我正在使用 Web.Scotty 解析 JSON POST/GET。
【问题讨论】:
标签: list haskell persistent