Rubyリファレンス: Home

inspect (String)

Edit   History

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

str.inspect

inspectメソッドは、制御文字や非アスキー文字をバックスラッシュ記法に置き換えた文字列を返します。

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

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

Ruby 1.8では、非アスキー文字は"\8進数"に置き換わります。$KCODE-Kオプションが設定されていれば、漢字やひらがなはそのまま出力されます。

s = "漢字\x01ABC"
puts s.inspect
$KCODE = "u"
puts s.inspect
"\346\274\242\345\255\227\001ABC"
"漢字\001ABC"

Ruby 1.9 Ruby 1.9では、文字列に文字コードが正しく設定されていれば、漢字やひらがなはそのまま出力されます。制御文字や不正なバイトは"\x16進数"になります。

# encoding: utf-8
s = "漢字\x01ABC"
puts s.inspect
"漢字\x01ABC"

関連項目