dump(obj, output: :string) -> String | File | IO | nilRuby 3.0 から[permalink][rdoc][edit] [added by objspace]-
obj の内容を JSON 形式でダンプします。
- [PARAM]
obj: - ダンプ対象のオブジェクトを指定します。
- [PARAM]
output: -
ダンプ結果の出力先を以下のいずれかで指定します(デフォルトは
:string)。
:string-
文字列としてダンプ結果を返します。
:file-
一時ファイルにダンプし、その File オブジェクトを返します。
:stdout-
標準出力にダンプし、nil を返します。
- IO オブジェクト
-
指定した IO オブジェクトにダンプし、その IO オブジェクトを返します。 (StringIO のような IO のサブクラスでないオブジェクトは指定できません)
require 'objspace' puts ObjectSpace.dump(5) # => 5 puts ObjectSpace.dump("hello") # => {"address":"0x...", "type":"STRING", "shape_id":0, "slot_size":40, # "class":"0x...", "embedded":true, "chilled":true, "bytesize":5, # "value":"hello", "encoding":"UTF-8", "coderange":"7bit", # "memsize":40, "flags":{"wb_protected":true}} # (address の値は実行するたびに変わります)- [EXCEPTION]
ArgumentError: - output に上記のいずれでもない値を指定した場合に発生します。
戻り値の内容は完全ではない事に注意してください。この内容はあくまでもヒントとして扱う必要があります。
本メソッドは C Ruby 以外では動作しない、実験的なメソッドです。出力のフォーマットは将来のバージョンで変更される可能性があります。
[SEE_ALSO] ObjectSpace.#dump_all
- [PARAM]