プログラミング言語 Ruby
posted with amazlet at 09.10.04
まつもと ゆきひろ David Flanagan
オライリージャパン
売り上げランキング: 65705
オライリージャパン
売り上げランキング: 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
こういう時のためですね、多分。