I'm a clojure newbie, trying to automate a script at work and running
into an issue.
Given a function
(defn diffCommonOrders
"For each order, checks the two execs maps
for the entries and reports the differences"
[orders1 orders2 execs1 execs2]
(for [order (vals orders1) :when (not-empty (get execs1
(order :receiving_order_id )))]
(let [order2 (orders2 (order :cl_ord_id))
recOrdId1 (get order :receiving_order_id)
recOrdId2 (get order2 :receiving_order_id)]
(difference (set (get execs1 recFirmOrdId1)) (set (get execs2
recFirmOrdId2))))))
with orders1 and orders2 defined as a map of String to Map with keys
{:receiving_order_id :cl_ord_id ....}
and execs1 and execs2 defined as maps of String to Vector, when I try
to execute this function in the REPL, I get:
java.lang.ClassCastException: clojure.lang.PersistentHashSet cannot be
cast to java.util.Map$Entry
I believe the error is occurring on the last line. Why is it
expecting a Map Entry? Why can I not return whatever I want from the
let?
--
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