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

时间:2015-09-07 01:43:11

标签: arrays ruby object shoes

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

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

并且,Note

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

我打算做的是将此阵列保存并加载到磁盘。请帮忙。我打算在没有深入了解背景细节的情况下做到这一点 元帅很有用,但在课堂上使用它似乎是一件令人头痛的问题。

请帮忙

2 个答案:

答案 0 :(得分:0)

如果只导出/导入静态数据,则可以轻松添加编组功能:

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

答案 1 :(得分:0)

我总是建议使用标准库中的YAML::Store来轻松保存和加载数据。

您可以在我的pomodoro tracker

中查看YAML::Store的示例实现

你可以将它用作一个大的哈希,你有密钥并放入对象,然后对于像Note类这样的简单ruby对象进行正确的序列化/反序列化。代码不必进入您的对象,而是进入商店。