--- Object#_dump(limit)
--- Class#_load(str)

    Marshal.dump ˤƽϤ륪֥Ȥ᥽å `_dump' 
    ƤˤϡΥ᥽åɤη̤񤭽Фޤ᥽
     `_dump' ϰȤƺƵ¤٥ limit 
    ꡢ֥Ȥʸ󲽤Τ֤ޤ

    󥹥󥹤᥽å `_dump' ĥ饹ɬƱե
    ޥåȤɤ᤹饹᥽å `_load' ɬפ
    ޤ`_load' ϥ֥Ȥɽʸꡢ
    򥪥֥ȤᤷΤ֤ɬפޤ

        class Foo
          def initialize(obj)
            p "initialize() called"
            @foo = obj
          end
          def _dump(limit)
            Marshal.dump(@foo, limit)
          end
          def self._load(obj)
            Foo.new(Marshal.load(obj))
          end
        end

        p Marshal.load(Marshal.dump(Foo.new(['foo', 'bar'])))

        => "initialize() called"
           "initialize() called"
           #<Foo:0x4019eb88 @foo=["foo", "bar"]>

    󥹥ѿϥޡ뤷ʸ˴ޤޤΤǡΤ褦
     _dump ɬפϤޤ_dump/_load Ϥ٤
    Ԥĥ饤֥饹Υ󥹥󥹤
    ѿʳ˾ݻѤޤ
    (㤨С饹 Time ϡ_dump/_load Ƥޤ)

