Ok now I understand ! 

So this implementation of apply act like this, and all implementations 
need, as the last arg of all the list, a sequence. 

Thank you

Le mercredi 14 décembre 2016 13:59:40 UTC-5, James Reeves a écrit :
>
> On 14 December 2016 at 17:38, Rafo Ufoun <raf.de...@gmail.com 
> <javascript:>> wrote:
>
>> Hi, thank you for your response ! 
>>
>> I know the '& args' notation, but I thought that this notation expected a 
>> collection *after *the &, so in the apply signature, we expect a fn, 4 
>> args and then, a sequence.
>>
>> In this call : (apply + 1 1 1 1 1 1 1 1 1 1 1 [2 3]), the & should be 
>> here : (apply + 1 1 1 1 *&* 1 1 1 1 1 1 1 [2 3])
>>
>> If I understand what you're saying, all the parameters after the & and 
>> the [2 3] sequence is converted into a single sequence, thanks to the & ?
>>
>
> Yes, though the [2 3] vector will be inside the args sequence. So if you 
> had:
>
>     (apply + 1 1 1 1 1 1 1 1 1 1 1 [2 3])
>
> And the arguments of apply are:
>
>     [f a b c d & args]
>
> Then:
>
>     f = +
>     a = 1
>     b = 1
>     c = 1
>     d = 1
>     args = (1 1 1 1 1 1 1 [2 3])
>
> Internally, the function combines the last value of args with the rest.
>
> - James
>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to