#-- # Credit goes to Florian Gross (flgr). #++ class Symbol # Turn a symbol into a proc calling the method to # which it refers. # # require 'facet/symbol/to_proc' # # up = :upcase.to_proc # up.call("hello") #=> HELLO # # More useful is the fact that this allows & # to be used to coerce Symbol into Proc. # # %w{foo bar qux}.map(&:upcase) #=> ["FOO","BAR","QUX"] # [1, 2, 3].inject(&:+) #=> 6 # def to_proc proc { |obj, *args| obj.send(self, *args) } end end