Ascii文字である事が自明なら、ワザワザcharメソッドやformatを使わなくとも数値をとる事が出来ます。
たとえばAsciiのアルファベットなら
>> ?a => 97
といった感じで。
C言語ではお馴染みのAscii文字の数値を用いたアルファベット処理も
>> (?z - ?a + 1).times do |z| val = ?a + z; printf "%c : %3d \n", val, val end a : 97 b : 98 c : 99 d : 100 e : 101 f : 102 g : 103 h : 104 i : 105 j : 106 k : 107 l : 108 m : 109 n : 110 o : 111 p : 112 q : 113 r : 114 s : 115 t : 116 u : 117 v : 118 w : 119 x : 120 y : 121 z : 122 => 26
この通り。
さらに、ruby1.8系以下ならば
>> ?\M-a => 225 >> ?\C-a => 1 >> (?\M-a) + (?\C-a) - 0b00001111 => 211 >> printf "%08d\n" , (?\M-a) + (?\C-a) - 0b00001111 00000211 => nil
という風にMetaやControlも扱えます。
参照もと
- 作者: 高橋征義,後藤裕蔵,まつもとゆきひろ
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2010/03/31
- メディア: 単行本
- 購入: 15人 クリック: 394回
- この商品を含むブログ (81件) を見る