Ruby 1.8.7 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Stringクラス > downcase!
downcase! -> self | nil
[permalink][rdoc]文字列中の 'A' から 'Z' までの アルファベット大文字をすべて破壊的に小文字に置き換えます。 アルファベット大文字以外の文字はすべてそのまま保存されます。
このメソッドはマルチバイト文字列を認識しますが、 それはあくまでも「1 文字を 1 文字として認識する」だけであって、 いわゆる全角アルファベットの大文字小文字までは変換しません。
処理する文字列の文字コードが Shift JIS で、 しかも $KCODE が適切に設定されていない場合、 このメソッドはマルチバイト文字の一部も変換してしまう場合があります。 逆に、$KCODE を適切に設定しても マルチバイト文字のアルファベットは処理できません。
例:
str = "STRing?" str.downcase! p str # => "string?" # -*- encoding: shift_jis -*- $KCODE = 'n' str = "帰" str.downcase! puts str # => 蟻
[SEE_ALSO] String#downcase, String#upcase!, String#swapcase!, String#capitalize!