在Ruby和Shoes中保存和加载对象数组到磁盘



我正在制作一个基于鞋子的Ruby GUI应用程序。它只包含一个类:

class Note
  attr_reader :text, :title, :color
  def initialize(text,title,color)
    @text = text
    @title = title
    @color = color
  end
end

和类型为

的对象数组
notes = []  OR  notes = Array.new

我要做的是保存并加载这个数组到磁盘。请帮助。我打算在外表上做这件事,而不涉及背景细节。
Marshal是有用的,但是在类中使用它似乎有点令人头痛。

请帮

如果只导出/导入静态数据,则添加封送功能很容易:

class Note
  attr_reader :text, :title, :color
  def initialize(text,title,color)
    @text = text
    @title = title
    @color = color
  end
  def marshal_dump
    [@text, @title, @color]
  end
  def marshal_load(array)
    @text, @title, @color = array
  end
end

为了方便保存和加载数据,我总是推荐使用标准库中的YAML::Store

您可以在我的番茄跟踪器中看到YAML::Store的示例实现

你可以使用它作为一个大哈希,你有键和对象,然后正确序列化/反序列化简单的ruby对象,如你的Note类。代码不一定要进入对象,而是要进入存储区。

相关内容

  • 没有找到相关文章

最新更新