Marshal

Marshal.dumpとMarshal.loadでオブジェクトのマーシャリングができます。

class Rubyco
  def hello
    puts "Hello!"
  end
end

org = Rubyco.new
org.hello                   #=> Hello!

dumped = Marshal.dump(org)
p dumped                    #=> "\004\010o:\vRubyco\000"

obj = Marshal.load(dumped)
obj.hello                   #=> Hello!

p obj == org                #=> false

class Rubyco
  def hello
    puts "Great!"
  end
end

newly = Marshal.load(dumped)
newly.hello                 #=> Great!

(↑のエントリはpack してから dumpを読んで書き始めました)