Rubyリファレンス: Home

dump (String)

Edit   History

標準クラス・モジュール > String > dump

str.dump

dumpメソッドは、文字列中の制御文字や非アスキー文字など、表示できないことのある文字をバックスラッシュ記法に置き換えた文字列を返します。

全体は二重引用符で囲われ、\"#{...}は、\\\"\#{...}に置き換わります。タブ、復帰、改行などは\t\r\nなどに置き換わります。

s = "\"hello!\"\tworld"
puts s
puts s.dump
"hello!"        world
"\"hello!\"\tworld"

inspectメソッドとは異なり、非アスキー文字は必ずバックスラッシュ記法になります。Ruby 1.8では、制御文字と非アスキー文字は"\8進数"に置き換わります。

s = "漢字\x01ABC"
puts s.dump
"\346\274\242\345\255\227\001ABC"

Ruby 1.9 Ruby 1.9では、制御文字と非アスキー文字は"\x16進数"になります。また、文字コードがUTF-8のときは非アスキー文字は"\u{16進数のコードポイント}"となります。

# encoding: utf-8
s = "漢字\x01ABC"
puts s.dump
"\u{6f22}\u{5b57}\x01ABC"

関連項目