Ruby 1.9.2 リファレンスマニュアル > ライブラリ一覧 > library _builtin > module Marshal > load

module function Marshal.#load

load(port, proc = nil) -> object
restore(port, proc = nil) -> object

port からマーシャルデータを読み込んで、元のオブジェクトと同 じ状態をもつオブジェクトを生成します。

proc として手続きオブジェクトが与えられた場合には読み込んだ オブジェクトを引数にその手続きを呼び出します。

str = Marshal.dump(["a", 1, 10 ** 10, 1.0, :foo])
p Marshal.load(str, proc {|obj| p obj})

=> "a"
   1
   10000000000
   1.0
   :foo
   ["a", 1, 10000000000, 1.0, :foo]
   ["a", 1, 10000000000, 1.0, :foo]
[PARAM] port:
StringIO (またはそのサブクラス)の インスタンスを指定します。
[PARAM] proc:
手続きオブジェクト。Proc
[EXCEPTION] TypeError:
メジャーバージョンが異なるか、バージョンの大きな マーシャルデータを読み込んだ場合に発生します。