#author("2019-08-29T09:49:22+09:00","default:yakumo_murakami","yakumo_murakami")
[[Ruby]] - [[Rubyで、オブジェクトを保存する]]

Marshal.dumpとMarshal.loadを使ってオブジェクトを直接ファイルに保存するの。

ただし、[[pstoreを使う方法>Rubyで、オブジェクトを保存する]]も内部的にMarshalを使っているようなので、 ''pstoreを介さずに直接Marshalを使うことで何か問題が起きるケースがあるのかもしれない。これについては未検証。''

* クラス側 [#a4a4435d]

ファイル名._save(オブジェクト)  でファイルに保存、オブジェクト = ファイル名._load でファイルからロードできます。

 class String
  def _load
    s = []
    if File.exist?(self) == true
      x = File.read(self)
      s = Marshal.load(x)
    end
    s
  end
  def _save(s)
    str = Marshal.dump(s)
    File.write(self,str)
  end
 end

小さいモノならDBとか使うまでもなく書けて便利よ。

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS