If I remove the line [{:a 1 :c _}] :a1 it returns :a-1 .. So, I guess it means that the behavior is undefined if there are multiple matches. Sunil.
On Mon, Oct 3, 2011 at 3:57 PM, Sunil S Nandihalli < sunil.nandiha...@gmail.com> wrote: > Hello everybody, > I was playing with core.match library and I notice the following behavior > > let [x {:a 1 :b 2 :c 10 :d 30}] > (match [x] > [({:a _ :b _ :c _ :d _} :only [:a :b :c :d])] :a-1 > [({:a _ :b 2} :only [:a :b])] :a0 > [{:a 1 :c _}] :a1 > [{:c 3 :d _ :e 4}] :a2 > :else [])) > > returns > :a1 > I was hoping to get > :a-1 > > Am I using it wrong? Have I misunderstood as to how match is supposed to > work? It looks like match assumes either that there is always a unique match > or it does not guarantee that it will the try matches in the order > specified. Can somebody help? > > Thanks, > Sunil. > -- 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