On Wed, 14 Jul 1999, you wrote:
>Hello,
>I was wondering why a proc has to be called via
>>> ...
>>> 
>>>   method = obj.method(:method_name)
>>>   mathod.call(args)
>>> 
>>> ...
>
>as opposed to using the parentheses; something like
>
>   f = obj.method(:method_name)
>   f(args)
>
>would be far cleaner.  Does the syntax f() have a fixed, predefined meaning?  

I don't know (matz?), but in the meanwhile you could use

   f = obj.method(:method_name)
   f[args]

I have had a quick look into the sources. I think, that `()' is only
used to lexically group expressions. There is nothing behind.
Whereas `[]' is really an operator, which can be mapped to a method,
if desired.

In  your example above `f' would contain a `Proc' instance. The class
`Proc' overwrites the operator `Proc#[]' to perform a method call.

>
>cheers,
>Michael

Same to you,
\cle