当前位置: 代码迷 >> 综合 >> PStore Meets YAML- 有这个必要吗?
  详细解决方案

PStore Meets YAML- 有这个必要吗?

热度:82   发布时间:2023-12-18 22:07:27.0
http://blog.grayproductions.net/articles/2006/07/30/pstore-meets-yaml

看了这片短文有点惊讶

Pstore应该是

将Ruby对象存入外部文件------比如磁盘文件时使用的类。该类内部使用了Marshal。

Java和PHP类似的做法叫序列化

http://rubycn.ce-lab.net/man/addlib/PStore.html

[code]db = PStore.new("/tmp/foo")
db.transaction do
p db.roots
ary = db["root"] = [1,2,3,4]
ary[0] = [1,1.5]
end

db.transaction do
p db["root"]
end[/code]

必须在transaction块内部访问数据库。其接口类似于Hash。

另外的例子
对象“H”实例化后存储在“/tmp/rb”中,之后便可以直接打开读取该实例的属性和操作该实例方法。


http://www.cnzxh.net/blog/Index.php?month=2005-12&catalogId=0&key=

[code]#!/usr/bin/env ruby
require 'pstore'
path = '/tmp/rb'

class H
attr_accessor :a
attr_accessor :b
attr_accessor :c
def initialize
@a, @b, @c = 3, "abc", ["arr", "ay"]
end

public
def test
@c.join
end

end

#写入
ps = PStore.new(path)
ps.transaction {|x|
x['H'] = H.new
}
ps = nil

#读取
PStore.new(path).transaction {|x|
h = x['H']
puts h.a
puts h.b
puts h.test
}[/code]

YAML 也可以被 PS,

拉郎配, 生硬
  相关解决方案