In case it's not clear from the above, {:keys [...]} is a
technique for *map* destructuring of associative data structures.
(let [{:keys [a b]} {:a 1 :b 2}] [a b])
[1 2]
As documented at http://clojure.org/reference/special_forms, :keys
takes a vector of the symbols to bind.
--
You received t
; I have read some of the relevant documentation and some related blog
posts, but I am still having trouble explaining this difference
(destructuring seems to work with PersistentList and not with
PersistentVector).
The keys of a vector are ints. In your second example, :a and :b are
values, not ke
(:a 1 :b 2)] [a b])
> [1 2]
>
> > (let [{:keys [:a :b]} [:a 1 :b 2]] [a b])
> [nil nil]
>
> I have read some of the relevant documentation and some related blog
> posts, but I am still having trouble explaining this difference
> (destructuring seems to work with PersistentList
explaining this difference
(destructuring seems to work with PersistentList and not with
PersistentVector).
Kind thanks in advance for any insight.
Warmly,
-Harold
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group,