Jump to content

Ruby Programming/Reference/Objects/Marshal

From Wikibooks, open books for an open world

Marshal

[edit | edit source]

The Marshal class is used for serializing and de-serializing objects to disk:

ex

serialized = Marshal.dump(['an', 'array', 'of', 'strings'])
unserialized = Marshal.restore(serialized)

With 1.9, each dump also includes an encoding, so you *must* use Marshal's stream read feature if you wish to read it from an IO object, like a file.


a = File.open("serialized_data", "w")
a.write Marshal.dump(33)
b = File.open("serialized_data", "r")
unserialized = Marshal.restore(b)
b.close