kind=defined
names=swapcase!
visibility=public

--- swapcase! -> self | nil

全ての大文字を小文字に、小文字を大文字に、破壊的に変更します。

swapcase! は self を変更して返しますが、
置換が起こらなかった場合は nil を返します。

このメソッドはマルチバイト文字を認識しません。
そのため、文字列が Shift JIS エンコーディングで、
かつ [[m:$KCODE]] が適切に設定されていない場合、
マルチバイト文字の一部も変換してしまう場合があります。
逆に、[[m:$KCODE]] を設定しても
マルチバイト文字のアルファベットは処理しません。

例:
    str = "ABCxyz"
    str.swapcase!
    p str   # => "abcXYZ"

    # -*- Coding: shift_jis -*-
    $KCODE ='n'
    puts "蟻".swapcase   # => 帰

@see [[m:String#upcase]], [[m:String#downcase]], [[m:String#capitalize]]

