ブロック付きHash.new
公開日:
:
最終更新日:2014/02/04
Ruby
irb(main):001:0> f = Hash.new {|h,(x,y)| h[[x,y]] = x+y }
=> {}
irb(main):002:0> f
=> {}
irb(main):003:0> f[[5,6]]
=> 11
irb(main):004:0> f[[10,20]]
=> 30
irb(main):005:0> f
=> {[10, 20]=>30, [5, 6]=>11}
ほほう、こんなことができるのか。