Ruby 1.9.2 リファレンスマニュアル > ライブラリ一覧 > library _builtin > class String > capitalize!
capitalize! -> self | nil
文字列先頭の文字を大文字に、残りを小文字に変更します。 ただし、アルファベット以外の文字は位置に関わらず変更しません。
例:
str = "foobar" str.capitalize! p str # => "Foobar" str = "fooBAR" str.capitalize! p str # => "Foobar"
$KCODE が適切に設定されていない場合は、 マルチバイト文字の一部をあやまって変換してしまう場合があります。 この問題は以下のように Shift JIS エンコーディングを使う場合に発生します。
$KCODE = 'NONE' # 文字列は Shift JIS エンコーディングで記述されている puts "帰".capitalize # => 蟻
また、$KCODE を設定しても、 マルチバイト文字のいわゆる全角アルファベットは処理しません。
[SEE_ALSO] String#capitalize, String#upcase, String#downcase, String#swapcase