[ruby-core:68213] [Ruby trunk - Feature #10879] [Open] UnboundMethod#to_proc

From: Damien.Olivier.Robert+ruby@...
Date: 2015-02-21 19:56:45 UTC
List: ruby-core #68213
Issue #10879 has been reported by Damien Robert.

----------------------------------------
Feature #10879: UnboundMethod#to_proc
https://bugs.ruby-lang.org/issues/10879

* Author: Damien Robert
* Status: Open
* Priority: Normal
* Assignee: 
----------------------------------------
Since unbound methods from modules can now be bound to any object, I use them a lot.
I think it would be very natural to be able to convert them to Proc:

~~~
module UnboundMethod
  def to_proc
    return lambda do |obj,*args,&b|
      self.bind(obj).call(*args,&b)
    end
  end
end
~~~

This would allow things like

~~~~
module Foo
  def foo
    self+"foo"
  end
end
["bar","baz"].map(&Foo.instance_method(:foo)) => ["barfoo", "bazfoo"]
~~~~



-- 
https://bugs.ruby-lang.org/

In This Thread

Prev Next