In message "[ruby-list:19793] Re: coerce"
    on 99/12/21, "Shigeo Kobayashi" <shigeo / tinyforest.gr.jp> writes:
>メソッド定義の中でcoerce処理している以上、現状では「-演算子」が
>無ければ-のcoerceができないのも理解できます。
>ただ、未定義メソッドや文字列に変換できないとわかった場合、右辺
>のオブジェクトにcoerceさせるように(インタプリタが)トライすることは
>無理なのかどうかちょっと疑問に思った次第です。
>
>そうしないと a+"A" と"A"+aの動作が異なるので、ちょっと気になりま
>した。

現在の coerce は Numeric のなかだけの約束ごとです。添付ライ
ブラリだと Matrix にもあります。これを他のクラスにも拡大する
ための議論は止まっています。この議論を再開されたいのでしたら、
ruby-devでやりましょう。

もし、単にStringに演算を加えたいだけなら、Stringの既存演算子
が coerce を呼ぶように再定義し、さらに String#- などを付け加
えることで実現できます。

-- ごとけん