お薦め ページ


メニュー

ハワイ島 遊覧飛行ツアー

ハワイ島 B&B・ホテル

ハワイ島 不動産情報

ハワイ島 情報・観光ガイド

ブログ(Blog)

その他

関連サイト

: 日付別 アーカイブ :

2007年1月 9日

2007年1月 9日

Rubyにおける「バックスラッシュ記法」(1)

ここのところ何回か、Rubyにおける正規表現について 書いてきたが、それを続けるにあたって Rubyにおける「バックスラッシュ記法」を知っておく必要が出てきた。 今回のブログでは、「バックスラッシュ記法」について調査してみた。

「バックスラッシュ記法」とは 特殊な文字コード、例えば 改行文字 等 を Rubyの文字列中でどのように表現するのか ということで、C言語の時代から利用されている表記方法である。

これについての詳細は、Rubyマニュアルの 「バックスラッシュ記法」 に詳しく解説してある。 まずはこのマニュアルページの「バックスラッシュ記法」にある 文字コードを確かめる 例題スクリプトを作ってみた。
printf(" %#04x ", "\t"[0])  #=> 0x09 (タブ)
printf(" %#04x ", "\n"[0])  #=> 0x0a (改行)
printf(" %#04x ", "\r"[0])  #=> 0x0d (キャリッジリターン)
printf(" %#04x ", "\f"[0])  #=> 0x0c (改ページ)
printf(" %#04x ", "\b"[0])  #=> 0x08 (バックスペース)
printf(" %#04x ", "\a"[0])  #=> 0x07 (ベル)
printf(" %#04x ", "\e"[0])  #=> 0x1b (エスケープ)
printf(" %#04x ", "\s"[0])  #=> 0x20 (空白 or スペース)
この例では、
  • \t (タブ)
  • \n (改行)
  • \r (キャリッジリターン)
  • \f (改ページ)
  • \b (バックスペース)
  • \a (ベル)
  • \e (エスケープ)
  • \s (空白 or スペース)
の 文字コードを 16進数で表している。

例えば、「 "\n" 」 とは、 改行コード のみからなる 文字列となる。 Rubyも文字列では「 文字列[n] 」のように表記すると、 与えられた数字 n 番目のバイトの整数(文字コード)を返すメッソドがある。 数える場合は文字列の最初の文字が 0番目から開始されるので、 「 "\n"[0] 」という表記は 文字列「 "\n" 」の 0番目(最初の文字)の 文字列コードを 表していることになる。

ここで得られる文字コードは10進数となるので、 それを ここでは判りやすいように printf のフォーマットで16進数に変換してから表示している。

文字コードに関しては e-Words の 「ASCII文字コード表」 にASCIIコードの一覧表がある。

【参考リンク】

カテゴリー: Ruby     22:01 | コメント (0) | トラックバック (1)

 
ハワイ島での遊覧飛行ツアーとB&Bのスペシャリスト、スカイメリカ
Copyright © 2003,2009 Skymerica Corp. All rights reserved.