在鸡方案中创建数据库

yak*_*aku 5 lisp scheme chicken-scheme

我想问是否可以在鸡方案中创建数据库;与此类似的东西:

http://www.gigamonkeys.com/book/practical-a-simple-database.html

如果是,那么我必须阅读/搜索哪些谓词?我应该用鸡蛋吗?在鸡维基中,我进行了搜索,但没有找到我搜索的内容。在方案中实现类似上述的东西是不可能的还是以完全不同的方式完成?

Ina*_*thi 2

这是可能的,但您需要使用另一种数据类型。

与 Common Lisp(该书重点介绍的)不同,Schemes 没有plists,因为它们缺少:keyword包。您需要决定如何存储数据,该决定将影响您构建数据make-select等效数据的方式。例如,如果您认为alists 是一个足够好的替代品,那么从您的一条记录中获取属性将类似于

(cdr (assoc foo record)) 
Run Code Online (Sandbox Code Playgroud)

而不是

(getf :foo record)
Run Code Online (Sandbox Code Playgroud)