赞 | 2 |
VIP | 143 |
好人卡 | 1 |
积分 | 1 |
经验 | 216792 |
最后登录 | 2019-10-10 |
在线时间 | 24 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 61
- 在线时间
- 24 小时
- 注册时间
- 2008-8-5
- 帖子
- 1924
|
本帖最后由 紫苏 于 2010-6-23 03:19 编辑
如果是连续多次 Marshal.dump 到一个文件,就可以连续多次 Marshal.load:
Marshal.load(f)
Marshal.load(f)
......
Marshal.load(f)
重定义的方法是:
module Kernel
alias LOAD_DATA load_data
def load_data(filename)
LOAD_DATA(filename)
# ...
end
end
我在想既然只是把数据整合到一起,直接弄个数组把所有东西都push进去不是更好... ...
zhangbanxian 发表于 2010-6-22 19:01
弄成数组再 dump 和多次 dump 所有数据也差不了太多:前者可以泛用,用的空间少一点点;前者的数据结构层次可能会很深,在 dump 的时候的一些临时数据,像临时的符号表、对象数据表等也会比后者大很多;前者好处是如果数组中存在相同对象的引用,load 之后仍然保证引用的关系,不过这在读取存档的时候似乎没多大用 |
评分
-
查看全部评分
|