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