Luke Palmer wrote:
> I don't follow your examples.  What is the logic behind them?
> 
> On 9/3/06, Mark Stosberg <[EMAIL PROTECTED]> wrote:
>> Examples:
>>    Arguments (<1 2>) to signatures 1. (@a?) and 2. (@a) calls 2
> 
> For example, I would expect this one to be ambiguous, because the 1.
> (@a?) sub introduces two different signatures, 1. () and 1. (@a).
> When given <1 2>, 1. (@a) matches as well as 2. (@a), so it is
> ambiguous.

Oops. Yes, I would call that a tie, too.

>>    Arguments (@a) to signatures 1. (@a?) and 2. (@a) IS TIE
> 
> The only difference I can see between this and the one above is @a vs.
> <1 2>, which ought to behave the same way, right?

Yes.

>> Note that the variant /with/ the parameter can be considered an exact
>> match, but but the variant /without/ it cannot be considered an exact
>> match.
> 
> And I expect that if either or both matches the method is considered
> to be a match.  Right?

Let's look again at the last example:

   Arguments () to signatures 1. (@a?) and 2. () calls 2

(@a?) really means () OR (@a). The "()" implicit in (@a?) is a match,
but not an exact match, so the "()" declared by itself wins, because it
/is/ an exact match.

    Mark

Reply via email to