Hash#merge也可以接收block
13th March, 2007Hash#merge被广泛用来在ruby中模拟keyword arguments,大家已经很熟练了:
- def func(given_opt)
- opt={:opt_1=>"v1",:opt_2=>"v2"}
- opt=opt.merge(given_opt)
- #blahblah...
- end
这样given_opt就能把opt里面的内容进行扩充或覆盖,rails framework里面那些help方法广泛采用了这个写法。
[...]
