プログラミング言語 Ruby
まつもと ゆきひろ David Flanagan
オライリージャパン
売り上げランキング: 65705

まだ読み途中ですが、知らなかった事が結構ありますな。

4.5.3 属性と配列要素への代入

[]=メソッドに複数の引数を渡せるとは知らなかった。

class Foo
def []=(x, y, z)
puts x + y + z
end
end
% irb -r foo.rb
>> foo = Foo.new
=> #<Foo:0x1a10b34>
>> foo[1,2] = 3
6
=> 3

6の出力は分かるとして返値が3なのは何でなんだろう?

2010年02月24日追記:

bar = foo[1,2] = 3

こういう時のためですね、多分。

Comments


Option