Rubyのバックスラッシュ記法(\t \n \sなど)一覧を確認
Table of Contents
バックスラッシュ記法とは?
文字列中でバックスラッシュ(\)の後に記述する文字によって特別な意味を持つ記法です。制御文字とも呼ばれます。
バックスラッシュ記法の一覧
バックスラッシュ記法 | 意味 |
---|---|
\t | タブ(0x09) |
\v | 垂直タブ(0x0b) |
\n | 改行(0x0a) |
\r | キャリッジリターン(0x0d) |
\f | 改ページ(0x0c) |
\b | バックスペース (0x08) |
\a | ベル (0x07) |
\e | エスケープ (0x1b) |
\s | 空白 (0x20) |
\nnn | 8 進数表記 (n は 0-7) |
\xnn | 16 進数表記 (n は 0-9,a-f) |
\cx or \C-x | コントロール文字 (x は ASCII 文字) |
\M-x | メタ x (c | 0x80) |
\M-\C-x | メタ コントロール x |
\x | 文字 x そのもの |
\unnnn | Unicode 文字(n は 0-9,a-f,A-F、16進数4桁で指定) |
\u{nnnn} | Unicode 文字列(n は 0-9,a-f,A-F)。nnnnは16進数で1桁から6桁まで指定可能。スペースかタブ区切りで複数の Unicode 文字を指定できる。例: “\u{30eb 30d3 30fc a}” # => “ルビー\n” |
\改行 | 文字列中に改行を含めずに改行 |
タブ(\t)
分かりにくいですが、fooとbarの間にスペースではなく、タブが入ります。
puts "foo\tbar"
foo bar
垂直タブ(\v)
真下に移動します。
puts "foo\vbar"
foo
bar
バックスペース(\b)
キーボードのバックスペース同様、手前1文字を消します。
puts "foo\bbar"
fobar
ベル(\a)
実行すると音がなります。
puts "foo\abar"
foobar
空白(\s)
スペース1文字入ります。
puts "foo\sbar"
foo bar
8進数表記, 16進数表記, コントロール文字
これらは直接制御文字を指定する方法です。 制御文字のコードと命令についてはWikipediaが分かりやすいです。
例えば前述したタブの場合は コントロール文字であれば^I
16進数なら09
なので、
Rubyではこう書きます。
puts "foo\cIbar"
foo bar
puts "foo\x09bar"
foo bar
Unicode文字, Unicode文字列
Unicodeを直接指定します。
例えばA
の場合は0x0041
なので
puts "\u0041"
A
文字列ABC
の場合は0x0041 0x0042 0x0043
なので
puts "\u{0041 0042 0043}"
ABC
文字列中に改行を含めずに改行(\改行)
文字列を作成中に改行しても文字列作成中を継続する場合に使います。 これ意味わかりにくいですが、コード見ると何のことかすぐ分かります。
hoge = "foo\
bar\
baz"
puts hoge # foobarbaz
Rubyのバックスラッシュ記法一覧確認したけど
用途や効果の分からない記法もありました。長年実務でも見かけたことのないものなので特別なシステム開発でしか使われないかと思います。