On Sunday, April 6, 2003, at 05:51 AM, Yukihiro Matsumoto wrote:

> Hi,
>
> In message "UnboundMethod#to_proc"
>     on 03/04/06, Dave Thomas <dave / thomases.com> writes:
>
> |I'm wondering what I can do with a Proc generated by
> |
> |   UnboundMethod.to_proc
>
> The error message gives what you can do:
>
>  % ruby -e 'Kernel.instance_method(:printf).to_proc.call("foo")'
>  -e:1:in `to_proc': you cannot call unbound method; bind first 
> (TypeError)
>         from -e:1:in `call'
>         from -e:1
>
> so, bind UnboundMethod first, then call to_proc.
>
But then to_proc is being called on a Method, not an UnboundMethod. If 
there's no way of adding a binding to the Proc, then I suggest that we 
change UnboundMethod#to_proc always to raise an exception, rather than 
generate an object in an invalid state.

Cheers


Dave