oops ...just ignore my last reply. On May 28, 4:08 am, Baishampayan Ghose <b.gh...@gmail.com> wrote: > This is a generic solution using clojure.walk, the problem can be > solved in many other ways... > > (require '[clojure.walk :as walk]) > > (defn remove-sour > "Remove all :sour foods from the table." > [table] > (let [xform (fn [[k v]] (when-not (= k :sour) [k v]))] > (walk/postwalk (fn [x] (if (map? x) (into {} (keep xform x)) x)) table))) > > Hope this helps. > > Regards, > BG > > > > > > > > > > On Mon, May 28, 2012 at 1:25 PM, Z.A <zahmed...@gmail.com> wrote: > > Thanks BG . But can we do it without hard wiring the structure of hash > > map in our function. Can't we just take in any hash map and look for > > any :sour key anywhere and remove it. I want to learn a generic hash > > map processing technique. > > > On May 28, 3:46 am, Baishampayan Ghose <b.gh...@gmail.com> wrote: > >> This is the trivial solution, by the way - > > >> (update-in dining-table [:eatables :fruits] #(dissoc % :sour)) > > >> Regards, > >> BG > > >> On Mon, May 28, 2012 at 1:11 PM, Z.A <zahmed...@gmail.com> wrote: > >> > Hi > >> > I am trying to create a function to remove all :sour eatables from my > >> > dining table but so far only getting sour results. > > >> > (def dining-table {:drinks {:cold "coke", :hot "tea"}, :eatables > >> > {:fruits {:sour "lemon", :sweet "mango"}}}) > > >> > (the-function-i-want dining-table) should give the following output > > >> > {:drinks {:cold "coke", :hot "tea"}, :eatables {:fruits { :sweet > >> > "mango"}}} > > >> > thank you all. > >> > Zubair > > >> > -- > >> > 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 > > >> -- > >> Baishampayan Ghose > >> b.ghose at gmail.com > > > -- > > 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 > > -- > Baishampayan Ghose > b.ghose at gmail.com
-- 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