まつもと ゆきひろです

In message "[ruby-dev:9125] +="
    on 00/02/05, GOTO Kentaro <gotoken / math.sci.hokudai.ac.jp> writes:

|現在、+= や *= などの代入型の演算子は再定義できませんが、
|これを許せるように文法を変更しても良いですか??

「良いですか」というとごとけんさんが変更するってことですか?

その場合、代入型演算子の意味をどうとらえますか?
[]= と違ってメソッド呼び出しでは実現できないのですが。

  a = 1
  a +=1
  p a  # => 2

では、1オブジェクトがmutableで2に化けたという意味付けはでき
ないように思います。あるいは

  * += メソッドが定義されていれば a.send(:+=, n)
  * 定義されていなければ a = a + n

という意味付けが可能かも知れませんが、「定義されていれば」っ
てのがコストが高そうな上に挙動が予測しにくくなるように思いま
す。
                                まつもと ゆきひろ /:|)