Ruby宝石相当于PERL可存储

时间:2014-01-15 10:03:49

标签: ruby storable

Ruby是否有相当于PERL可存储的宝石? 我试过了rcstorable,但它只读,它不能保存。
感谢。

2 个答案:

答案 0 :(得分:1)

看看PStore,也许这就是你要找的东西。

http://ruby-doc.org/stdlib-2.1.0/libdoc/pstore/rdoc/PStore.html

它在Stdlib中,所以不需要宝石。

答案 1 :(得分:0)

您可以使用Marshal

执行相当于Storable的冻结和解冻

Perl:

use Storable;

my $serialised_data = freeze( $data_ref );

# and later

my $data_ref = thaw( $serialised_data );

在Ruby中:

serialised_data = Marshal.dump( object );

# and later

object = Marshal.load( serialised_data );

一个很大的区别 - Storable涵盖了比Ruby的Marshal“开箱即用”更多的Perl库对象,对于Ruby中的非核心对象,有时您可能需要自己添加对Marshal的支持。所有基本类型 - 数字,字符串,数组,哈希 - 都可以正常工作。