Rubyリファレンス: Home

chars (String)

Edit   History

Ruby 1.8.7 Ruby 1.9

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

str.chars {|char| block }

charsメソッドは、文字列中の文字を繰り返し取り出します。ブロック引数charに1文字を入れながら、文字数だけブロックを繰り返します。戻り値はレシーバ自身です。

each_charメソッドはcharsの別名です。

s = "hello"
s.chars {|ch| print ch + "_" }
puts ""
h_e_l_l_o_

ブロックを省略したときは、Enumeratorオブジェクトを返します。

s = "hello"
puts s.chars.to_a.join("/")
h/e/l/l/o

漢字など2バイト以上の文字を正しく取り出すには、Ruby 1.8.7では$KCODEの指定が必要です。Ruby 1.9では文字列の文字コードが正しく設定されている必要があります。

# encoding: utf-8  # Ruby 1.9
$KCODE = 'u'       # Ruby 1.8.7
 
s = "漢字"
s.chars {|ch| print ch + "_" }
puts ""
漢_字_    (UTF-8での出力)

関連項目