Hmm, if it has to be, it has to be but the error message is really 
misleading.

... and BTW the manual example has a space

@name (expr1, expr2, ...)



Quinta-feira, 12 de Junho de 2014 3:26:39 UTC+1, Pontus Stenetorp escreveu:
>
> On 12 June 2014 11:06, J Luis <[email protected] <javascript:>> wrote: 
> > 
> > Hi, it took me a while and a good dose of swearing to figure this out 
> > 
> > julia> @printf ("%d,%d\n", 1,2) 
> > ERROR: @printf: first or second argument must be a format string 
> > 
> > julia> @printf("%d,%d\n", 1,2) 
> > 1,2 
> > 
> > The difference is only the space between the 'printf' and '(' 
> > Does it have to be like that? And can the error message be more correct? 
>
> The issue is really with the way macros handle their arguments: 
>
>     http://julia.readthedocs.org/en/latest/manual/metaprogramming/#macros 
>
> This in combination with the fact that `one(Int)` and `one (Int)` are 
> equivalent, but `@printf("%d", 17)` and `@printf ("%d", 17)` are not. 
> From my own naive stand-point I would vouch for disallowing spaces 
> before the opening parenthesis for function calls a'la `one (Int)`. 
> This, in my opinion, is bad style anyway.  But perhaps I am missing 
> some case where it would be useful. 
>
> Regards, 
>     Pontus Stenetorp 
>

Reply via email to