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?
