In message "[ruby-list:19679] Q: 破壊的メソッドの定義のしかた"
    on 99/12/19, Yukihiko Eda <yuki-e / geocities.co.jp> writes:
>i = "ジャイアン"
>i.to_kiteretsu!
>p i
>#結果は"ブタゴリラ"
>
>・・のようにselfを書き換える破壊的メソッドはどのように
>作ればいいのでしょう?

gsub! を使うか、もしくは、

  class String
    def to_kiteretsu!
      self[0..-1] = to_kiteretsu
    end

    def to_kiteretsu
      case self
      when /\Aジャイアン\Z/
	"ブタゴリラ"
      else
	raise "No such character in Kiteretsu"
      end
    end
  end

-- gotoken