From: Robert Klemme Date: 2008-08-20T14:26:29+09:00 Subject: Re: Marshal/Serialization Question On 19.08.2008 23:38, Bryan Richardson wrote: > Hello all, > > I'm trying to Marshal some Ruby objects to file and I have a question > about parent classes. Say I have the following: > > class Device > @@id = 0 > @@id_map = Hash.new > @@device_map = Hash.new > > def initialize(*args) > id = @@id += 1 > @@id_map[self] = id > @@device_map[id] = self > end > > def self.id(device) > return @@id_map[device] > end > > def self.device(id) > return @@device_map[id] > end > end > > class Foo < Device > def initialize > super > end > end > > Now, if I create a Foo class, dump it to file and then load it again > using Marshal, should I be able to use the id and device methods in the > parent class or will the class variables not be dumped and loaded? Try it out. I'd say, most likely they are not dumped as classes are not serialized IIRC. Class variables are evil anyway... :-) Kind regards robert