Marshal

提供将 Ruby 对象写入或读出文件(或字符串)的能力。

模块方法

Marshal.dump(obj[, port][, limit])

obj 对象递归写入文件。

有些对象,如 FileMatchData ,或定义了特殊方法的对象,无法写入文件中。若尝试将这类对象写入文件会抛出 TypeError 异常。

port 指定 IO(或其子类)的实例。此时会返回 port。省略时,dump 返回将对象序列化之后的字符串。

若指定了 limit ,则不会序列化深于 limit (默认100)层链接的对象。若 limit 为负数,则不会进行层数检查。

Marshal.load(port)

port 中读取序列化数据(Marshal.dump 所输出的字符串)并生成与原对象同样状态的对象。port 指定 字符串或IO(或其子类)的实例。