Marshal
您可以使用该模块把 Ruby 对象写入文件(或字符串)保存起来,或者重新读取并生成该对象。
模块函数Marshal.dump(obj[, port][, limit])
把 obj 递归地写入文件。
File 和 MatchData 的实例,定义了特殊方法的对象等,不能被写入文件。若对这些不能被写入文件的对象使用该函数时,会引发 TypeError 异常。
可以向 port 指定一个 IO(或其子类)的实例。此时将返回 port。缺省时 dump 会返回保存着对象的字符串。
若使用了 limit 时,将只会保存 limit 层以内的关联对象(默认值为100层)。若将 limit 指定为负值时,将不会进行层数检查。
Marshal.load(port)
从 port 读入 marshal 数据(Marshal.dump 输出的的字符串)后生成一个与原对象状态相同的对象。port 可以是字符串或 IO(或其子类)的实例。
欢迎光临 Project1 (https://rpg.blue/) | Powered by Discuz! X3.1 |