Perhaps this is a documentation bug, or perhaps I missed the explanation 
somehow.

Suppose I define 

*(x::ASCIIString, y::Any) = x * string(y)

so that * may be used for concatenation of any value to a string:

     "the value of x is " * x   ==> "the value of x is 2"   (assuming x == 
2)

If I then  list methods(*,(ASCIIString,Any)) I get

* *(s::String...) at string.jl:76*

* *(x::ASCIIString,y) at none:1  *

So, my question is: how does Julia decide which function to call in the

application of * in my new function body?  Both definitions would seem to

apply.  Is the situation really ambiguous, and I'm just benefitting from 
some

arbitrary convention, or is there really a rule that would make it clear 
that the

varargs definition (i.e. the standard one) should take precedence?

Thanks!

Cheers,

Ron

Reply via email to