Oh, this works
(dosync (alter v #(update-in %1 [1] (fnil conj [ ]) %2) 33))
On Tuesday, June 17, 2014 8:05:10 PM UTC+2, Hussein B. wrote:
>
> Thanks, it works.
>
> In case, my initial map is a ref type
>
> (def m (ref { } ))
>
> Why this isn't working?
>
> (dosync
>
> (alter m #(update-in @v [1] (fnil conj [ ])) 11))
>
> On Tuesday, June 17, 2014 7:55:14 PM UTC+2, Mauricio Aldazosa wrote:
>>
>> For updating the value of a map given a key you can use update-in:
>>
>> user> (update-in {1 [11]} [1] conj 22)
>> {1 [11 22]}
>>
>> Now, to handle the case when the key is not present, you can use fnil:
>>
>> user> (update-in {} [1] (fnil conj []) 22)
>> {1 [22]}
>>
>> Cheers,
>> Mauricio
>>
>
--
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/d/optout.