On Thu, Nov 15, 2012 at 9:53 AM, MHOOO <thomas.karol...@gmail.com> wrote:
> Hello everybody, > > recently I was using the following pattern a lot, in order to get access > to a value inside a map: > > (defn map-geto* [m k v] > (matche [m] > ([[[k v] . _]]) > ([[_ . tail]] (map-geto* tail k v)))) > > > I can use that like this: > > (run* [q] (map-geto* (seq {:key "value"}) :key q)) >> > > which return ("value"). But after some thought I realized that I am > essentially doing a linear-search on the map instead of leveraging the > advantage of maps: fast-lookup of a value for a key. > So I wanted to ask: does anybody know of a way to re-write this function, > so it uses map-destructuring instead, while still being general enough so > it can be used on a map with any data? > It maybe possible to do something sensible now via constraints. Will ponder it. David -- 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