设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
12
返回列表 发新帖
楼主: 土撥撥
打印 上一主题 下一主题

[讨论] 關於load_data的讀取問題

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
95
在线时间
18 小时
注册时间
2008-1-22
帖子
46
11
 楼主| 发表于 2010-6-22 18:40:47 | 只看该作者
回复 紫苏 的帖子


    可是 重點是..
  1. File.open(filename, "rb") { |f|
  2.   obj = Marshal.load(f)
  3. }
复制代码
第三行已經用了大右括號了

如果再用Marshal.load(f)

就會出問題吧..

另外問一下要怎麼重新定義...
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
270 小时
注册时间
2010-2-4
帖子
1305
12
发表于 2010-6-22 19:01:30 | 只看该作者
我在想既然只是把数据整合到一起,直接弄个数组把所有东西都push进去不是更好...
好歹当年也当过大魔王过,orz
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
61
在线时间
24 小时
注册时间
2008-8-5
帖子
1924
13
发表于 2010-6-22 19:28:30 | 只看该作者
本帖最后由 紫苏 于 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 之后仍然保证引用的关系,不过这在读取存档的时候似乎没多大用

评分

参与人数 1星屑 +500 收起 理由
「旅」 + 500 奖励~~

查看全部评分

回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6695
在线时间
1666 小时
注册时间
2008-10-29
帖子
6710

贵宾

14
发表于 2010-6-22 20:01:32 | 只看该作者
把所有层集合到一个数组或哈希表里











你知道得太多了

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-5-16 23:32

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表