From: Shinya Kawaji Date: 2003-07-03T23:42:45+09:00 Subject: [ruby-list:37853] Re: 1.8.0での属性代入の返値 かわじ、です。 > これでしょうか。 > Tue Dec 17 21:08:29 2002 Nobuyoshi Nakada > > * node.h (NODE_ATTRASGN): new node, assignment to attribute. > [ruby-core:00637]. > > http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/648 そのスレッドでぴったりですね。ありがとうございます。 最後の例だけ結果が違うのがちょっと気になりますが、 実際にそのように使おうと思ったわけではないので、気にしないことにします。 > $ ~/ruby18/bin/ruby -v > ruby 1.8.0 (2003-07-01) [i386-openbsd3.2] > $ ~/ruby18/bin/irb --simple-prompt > >> class A; def a=(val); return 'foo'; end; end > => nil > >> A.new.a = 'bar' > => "bar" > >> A.new.a=('bar') > => "bar" > >> class B; def []=(key,val); return 'foo'; end; end > => nil > >> B.new[0] = 'bar' > => "bar" > >> B.new.[]=(0, 'bar') > => "foo" #=> このパターンだけ違う