1

我是新手。

如何将 TreeStore 存储到文件中?我可以通过 TreeModel 接口存储来自底层 TreeStore 的特定值,但是有没有办法“抓取”整个底层 TreeStore 作为一个值,或者我必须遍历 TreeStore,一次存储一行?

/J

4

1 回答 1

2

您必须自己遍历 TreeStore。

问题是商店没有任何外部表示。Haskell 类型通常具有可用于序列化的 Read 和 Show 实例(假设 read . show === 该类型的 id ,如果不这样做是不礼貌的)。Read 和 Show 并不适合所有序列化需求(它们在序列化的时间或大小上都不是特别有效),但在这些情况下,您可以使用 Data.Binary。

外部数据类型,包括 GLib 和 Gtk 类型,往往没有 Read、Show 或 Binary 实例,因此您需要编写自己的实例,或者只需编写一个通过手动遍历存储生成 String 或 ByteString 的函数。

于 2009-08-19T12:40:43.947 回答