我如何最好地 save/read 数据结构?
How do I best save/read data structures?
我想将FOO
和BAR
指向的一些数据结构写入文件,并将数据结构读回符号FOO
和BAR
当我开始新的 Common Lisp 会话时。
看起来 *PRINT-READABLY*
允许以 READ
可以读回的方式打印对象,我可以使用 (defmethod print-object ...)
更改对象的打印方式。由于对象应该以 READ
可接受的方式打印,因此我不必定义任何进一步的方法来读回对象。
但是有没有一种方法可以将每个写入的数据结构与其对应的符号联系起来,而不必依赖于写入和读取数据结构的顺序?
如果我没理解错的话,您可以将值和关联的符号成对存储在文件中,如下所示:
(x . (1 2 3 4))
(y . (6 7 8 1))
当你解析它时,使用这样的东西:
(let ((pair (read))
(set (car pair) (cdr pair)))
我想将FOO
和BAR
指向的一些数据结构写入文件,并将数据结构读回符号FOO
和BAR
当我开始新的 Common Lisp 会话时。
看起来 *PRINT-READABLY*
允许以 READ
可以读回的方式打印对象,我可以使用 (defmethod print-object ...)
更改对象的打印方式。由于对象应该以 READ
可接受的方式打印,因此我不必定义任何进一步的方法来读回对象。
但是有没有一种方法可以将每个写入的数据结构与其对应的符号联系起来,而不必依赖于写入和读取数据结构的顺序?
如果我没理解错的话,您可以将值和关联的符号成对存储在文件中,如下所示:
(x . (1 2 3 4))
(y . (6 7 8 1))
当你解析它时,使用这样的东西:
(let ((pair (read))
(set (car pair) (cdr pair)))