以下のページを参考にして、Ascii文字列を受け取り、Ascii文字コードの配列に変換するメソッドを定義する。
逆引きRuby - 文字列文字列を[]で1文字だけ参照するとそのASCII文字のコード値が返却されます。
s = "R"
p s[0] #=> 82
Ascii文字列を受け取り、Ascii文字コードの配列に変換
# Stringクラスのインスタンスメソッドとして追加
# 文字列を受け取り、アスキーコードの配列を返す
class String
def to_ascii
ascii = Array.new
self.length.times do |i|
ascii << self[i]
end
ascii
end
end
p "konta".to_ascii
実行結果
[107, 111, 110, 116, 97]
標準のAPIにはないんだろうか、こういうメソッド。
なんかあるような気がする・・・
"konta".each_char.map {|c| c[0]}
でもできますね。
"konta".each_char.map {|c| c[10]}
とおりすがり さん
有難うございました。
こっちが簡単ですね、each_char知ってたのに出てきませんでした・・・
匿名さん
同じく有難うございました。
each系メソッドに精通しなければなりませんね。
■この記事のトラックバックURL:
http://www.mapee.jp/mpe334/mt-tb.cgi/501