るりまサーチ

最速Rubyリファレンスマニュアル検索!
30件ヒット [1-30件を表示] (0.015秒)
トップページ > クラス:Object[x] > クエリ:Marshal.#dump[x]

別のキーワード

  1. _builtin marshal_dump
  2. _builtin marshal_load
  3. marshal dump
  4. pstore empty_marshal_data
  5. pstore empty_marshal_checksum

ライブラリ

キーワード

検索結果

Object#marshal_dump -> object (12491.0)

Marshal.#dump を制御するメソッドです。

...
Marshal.#dump
を制御するメソッドです。

Marshal
.dump(some) において、出力するオブジェクト some がメソッド marshal_dump
持つ場合には、その返り値がダンプされたものが Marshal.dump(some) の返り値となります。

marshal
_dump/marshal_load...
...ムでは _dump/_load ではなく
marshal
_dump/marshal_load を使うべきです。

@return 任意のオブジェクトで marshal_load の引数に利用できます。

class Foo
def initialize(arg)
@foo = arg
end
def marshal_dump
@foo
end
def marshal_load(obj)...
...定義されていてもマーシャルできるようになります
(特異メソッドの情報が自動的に dump されるようになるわけではなく、
marshal
_dump/marshal_load によりそれを実現する余地があるということです)。

@see Object#marshal_load, Marshal...

Object#_dump(limit) -> String (6328.0)

Marshal.#dump において出力するオブジェクトがメソッド _dump を定義している場合には、そのメソッドの結果が書き出されます。

...
Marshal.#dump
において出力するオブジェクトがメソッド _dump
を定義している場合には、そのメソッドの結果が書き出されます。

バージョン1.8.0以降ではObject#marshal_dump, Object#marshal_loadの使用
が推奨されます。 Marshal.dump する...
...オブジェクトが _dump marshal_dump の両方の
メソッドを持つ場合は marshal_dump が優先されます。

メソッド _dump は引数として再帰を制限するレベル limit を受
け取り、オブジェクトを文字列化したものを返します。

インスタ...
...arg
end
def _dump(limit)
Marshal
.dump(@foo, limit)
end
def self._load(obj)
p obj
Foo.new(Marshal.load(obj))
end
end
foo = Foo.new(['foo', 'bar'])
p foo #=> #<Foo:0xbaf234 @foo=["foo", "bar"]>
dms = Marshal.dump(foo)
p dms...

Object#marshal_load(obj) -> object (6250.0)

Marshal.#load を制御するメソッドです。

...
Marshal
.#load を制御するメソッドです。

some のダンプ結果(Marshal.dump(some)) をロードする(Marshal.load(Marshal.dump(some)))に
は some がメソッド marshal_load を持っていなければなりません。
このとき、marshal_dump の返り値が marshal_loa...
...す。
marshal
_load 時の self は、生成されたばかり(Class#allocate されたばかり) の状態です。

marshal
_dump/marshal_load の仕組みは Ruby 1.8.0 から導入されました。
これから書くプログラムでは _dump/_load ではなく
marshal
_dump/marshal_load を...
...使うべきです。

@param obj marshal_dump の返り値のコピーです。

@return 返り値は無視されます。

@see Object#marshal_dump, Marshal...

Object#clone -> object (49.0)

オブジェクトの複製を作成して返します。

...) #=> true
p(obj_d.tainted?) #=> true
p(obj_d.frozen?) #=> false
p(obj_d.respond_to?(:fuga)) #=> false

@see Object#initialize_copy

==== 深いコピーと浅いコピー

clone や dup はオブジェクト自身を複製するだけで、オブジェクト...
...ow copy)といいます。

深い(deep)コピーが必要な場合には、
Marshal
モジュールを利用して
Marshal
.load(Marshal.dump(obj))
このように複製を作成する方法があります。ただしMarshal出来ないオブジェクトが
含まれている場合には使えま...
...せん。

obj = ["a","b","c"]

obj_d = obj.dup
obj_d[0] << "PLUS"

p obj #=> ["aPLUS", "b", "c"]
p obj_d #=> ["aPLUS", "b", "c"]

obj_m = Marshal.load(Marshal.dump(obj))
obj_m[1] << "PLUS"

p obj #=> ["aPLUS", "b", "c"]
p obj_m #=> ["aPLUS", "bPLUS", "c"]...

Object#dup -> object (49.0)

オブジェクトの複製を作成して返します。

...) #=> true
p(obj_d.tainted?) #=> true
p(obj_d.frozen?) #=> false
p(obj_d.respond_to?(:fuga)) #=> false

@see Object#initialize_copy

==== 深いコピーと浅いコピー

clone や dup はオブジェクト自身を複製するだけで、オブジェクト...
...ow copy)といいます。

深い(deep)コピーが必要な場合には、
Marshal
モジュールを利用して
Marshal
.load(Marshal.dump(obj))
このように複製を作成する方法があります。ただしMarshal出来ないオブジェクトが
含まれている場合には使えま...
...せん。

obj = ["a","b","c"]

obj_d = obj.dup
obj_d[0] << "PLUS"

p obj #=> ["aPLUS", "b", "c"]
p obj_d #=> ["aPLUS", "b", "c"]

obj_m = Marshal.load(Marshal.dump(obj))
obj_m[1] << "PLUS"

p obj #=> ["aPLUS", "b", "c"]
p obj_m #=> ["aPLUS", "bPLUS", "c"]...

絞り込み条件を変える