On Wednesday, January 07, 2015 08:25:15 PM Chi-wei Wang wrote:
> Any ways to achieve this?

You may be looking for stagedfunctions, which are in julia 0.4, but not yet 
documented.

--Tim

> 
> Jameson於 2015年1月7日星期三UTC-8下午7時32分59秒寫道:
> 
> > the declaration `const A = (2,3)` is not part of the macro environment.
> > values are only seen by functions. whereas macros only see the surface
> > syntax. so the arguments to `@f` are the literals `1` and `:(A...)`
> > 
> > On Wed Jan 07 2015 at 10:04:26 PM Chi-wei Wang <[email protected]
> > 
> > <javascript:>> wrote:
> >> Can ... be applied on macro? I tried this but it didn't compile.
> >> macro f(a,b,c)
> >> 
> >>   return :($a+$b+$c)
> >> 
> >> end
> >> const A = (2,3)
> >> @f(1, A...)
> >> 
> >> 
> >> 
> >> Chi-wei Wang於 2015年1月7日星期三UTC-8下午6時45分14秒寫道:
> >> 
> >>> It works! I missed the varargs section in the doc. Thanks!
> >>> 
> >>> Greg Plowman於 2015年1月7日星期三UTC-8下午5時26分02秒寫道:
> >>> 
> >>>> Would the following work?
> >>>> 
> >>>> const A = (1,2,3)
> >>>> f(x::Int, y::Int, z::Int) = x+y+z
> >>>> f(A...)
> >>>> 
> >>>> 
> >>>> http://docs.julialang.org/en/release-0.3/manual/functions/#
> >>>> varargs-functions
> >>>> 
> >>>> On Thursday, January 8, 2015 11:14:23 AM UTC+11, Chi-wei Wang wrote:
> >>>>> Hi, everyone. I am trying to achieve the effect like the following C
> >>>>> code:
> >>>>> 
> >>>>> #define A 1,2,3
> >>>>> void f(int x, int y, int z) {
> >>>>> }
> >>>>> 
> >>>>> f(A);
> >>>>> 
> >>>>> Yet the macro in Julia always returns a single expression. Is it
> >>>>> possible to do this?

Reply via email to