On Monday 28 June 2004 04:38, Robert Klemme wrote:
> "gabriele renzi" <surrender_it / remove.yahoo.it> schrieb im Newsbeitrag
> >
> > I was going to ask if we could have this:
> > callable arg1,arg2 # implicitly looks for #call
> > callable           # the callable object
> > callable()         # forces application with zero arguments
> > ...
> >
> > what's wrong with this?
>
> Ambiguity.  "callable arg1,arg2" denotes an invocation of the method
> "callable" of "self".  "callable()" also invokes the same method albeit
> without arguments.

Couldn't ambiguity be resolved by giving the callable object priority over a 
method, and using self to call the object#method?

class MyClass
  def mymethod
    p "object#mymethod"
  end

  def anothermethod(mymethod)
    mymethod # => "object#call"
    self.mymethod # => "object#mymethod"
  end
end

class CallableClass
  def call()
    p "object#call"
  end
end

o1 = CallableClass.new
o2= MyClass.new

o2.anothermethod(o1)



	Sean O'Dell