Can you give more context about what high level goal you are trying to 
achieve? Why do you want to splice arguments in this particular way?

On Wednesday, January 7, 2015 8:25:16 PM UTC-8, Chi-wei Wang wrote:
>
> Any ways to achieve this?
>
> 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 <cwwa...@gmail.com> 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