Skip to content
class method

Marshal.dump

[W < ::_Writer] (untyped obj, W port, ?::int? limit) -> W
(untyped obj, ?::Integer limit) -> ::String
dump( obj [, anIO] , limit=-1 ) → anIO

Serializes obj and all descendant objects. If anIO is specified, the serialized data will be written to it, otherwise the data will be returned as a String. If limit is specified, the traversal of subobjects will be limited to that depth. If limit is negative, no checking of depth will be performed.

Example
class Klass
  def initialize(str)
    @str = str
  end
  def say_hello
    @str
  end
end

(produces no output)

Example
o = Klass.new("hello\n")
data = Marshal.dump(o)
obj = Marshal.load(data)
obj.say_hello  #=> "hello\n"

Marshal can’t dump following objects:

See also .load .restore also in 4.1 · 3.4 · 3.3 · 3.2 · 3.1 · 3.0