Thanks Meikel for the prompt reply, that does it.
Please can you elaborate on how I can use the solution below to update a
particular entry in the vector.
[{:id 1 :email {"[email protected] 1}}
{:id 2 :email {"[email protected] 1}}
{:id 3 :email {"[email protected] 2}}]
So I will like to write a function that accepts an id and then updates the
counter in email section of the given id.
(defn update-counter [x xs]
(dosync
(alter result ......
Thanks again for your time.
On Monday, June 3, 2013 9:23:47 PM UTC+1, Meikel Brandmeyer (kotarak) wrote:
>
> Hi,
>
> Am Montag, 3. Juni 2013 22:16:54 UTC+2 schrieb Yinka Erinle:
>>
>> Given I have the following
>> (def result (ref [ { :id 1 :emails { "[email protected]" 1}} ] ) )
>>
>> I like to alter the result in a transaction to become
>> [{:id 1 :emails { "[email protected]" 2}}] ; increment the counter from
>> 1 to 2
>>
>> Please can someone provide pointers.
>>
>>
> You can use the uniform update principle to stitch together alter and
> update-in.
>
> (dosync
> (alter result update-in [0 :emails "[email protected]"] inc))
>
> Kind regards
> Meikel
>
>
--
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
[email protected]
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 [email protected].
For more options, visit https://groups.google.com/groups/opt_out.