gouf
11/26/2015 - 1:48 PM

lambda と& 演算子でブロック部分を分離する

lambda と& 演算子でブロック部分を分離する

h = Hash.new do |hash,key| 
  hash[key] = key.upcase 
end 

p h[:foo] # => :FOO

# -------------------

upcase = lambda { |hash, key| hash[key] = key.upcase }
h = Hash.new(&upcase)

p h[:bar] # => :BAR