けいじゅ@日本ラショナルです.

In [ruby-list :03699 ] the message: "[ruby-list:3699] Re: [BUG?] 
accessor += ", on Aug/19 00:43(JST) matz / netlab.co.jp (Yukihiro
Matsumoto) writes:

>まつもと ゆきひろです

>|アクセサを定義し, それに対して +=などの演算を伴う代入の動作がおかしい
>|です.
>
>すみません.ぱっちです.
>
>-	    val = rb_funcall(recv, node->nd_next->nd_mid, 2, val, 
>+	    val = rb_funcall(val, node->nd_next->nd_mid, 1,
> 			     rb_eval(self, node->nd_value));

うーん. なるほど... あれからためしたのですが...

  class Foo
    attr :foo, TRUE
  
    def +(v, b)
      v + b    
    end
  end

  f = Foo.new
  f.foo = 1
  print f.inspect, "\n"
  f.foo += 2
  print f.inspect, "\n"

上記のような, 難しいFoo#+が必要になっていました(^^;;;

__
..........................................石塚 圭樹@日本ラショナル...
----------------------------------->> e-mail: keiju / bc.mbn.or.jp <<---