(let [op (atom +)]
  (defn alt-op [a b]
    ((swap! op #(if (= % +) - +)) a b)))

(map alt-op (range 1 10))

On Thu, Nov 13, 2014 at 10:09 PM, Robert Levy <r.p.l...@gmail.com> wrote:

> But for "applyv" you could do this:
>
> (*reduce + *(*map *(*comp eval list*) (*cycle *[*+ -*]) (*range 1 10*)))
>
> On Thu, Nov 13, 2014 at 10:06 PM, Robert Levy <r.p.l...@gmail.com> wrote:
>
>> Is that any more elegant than Dave's (reduce + (map * (cycle [1 -1])
>> (range 1 n))) though?  I would say that's the best actually sensible
>> answer proposed in this thread.
>>
>> On Thu, Nov 13, 2014 at 9:54 PM, Andy L <core.as...@gmail.com> wrote:
>>
>>>
>>>
>>> On Thu, Nov 13, 2014 at 7:23 PM, Robert Levy <r.p.l...@gmail.com> wrote:
>>>
>>>> You don't need this for numbers over 900 right?
>>>>
>>>>
>>> I see what you mean. But no, I just practice and try to capture
>>> patterns. So, going after your example I got following:
>>>
>>> (reduce + (map applyv (cycle [+ -]) (range 1 10)))
>>>
>>> where something like applyv perhaps exists,
>>> (defn applyv [f a] (f v)) - but I am not sure how to find it.
>>>
>>> A.
>>>
>>>
>>>
>>>  --
>>> 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.
>>>
>>
>>
>

-- 
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