juxt? user=> (map (juxt zero? even?) (range 5)) ([true true] [false false] [false true] [false false] [false true])
user=> (map (apply juxt [zero? even?]) (range 5)) ([true true] [false false] [false true] [false false] [false true]) On Monday, November 17, 2014 8:25:07 PM UTC-8, Andy L wrote: > > Hi, > > This is another puzzle/exercise based on a very practical need. I could > not find a built in function, hoping something like "colfn" already exists. > Otherwise I wonder about an idiomatic solution. This is self-explanatory > code: > > user=> (require '[clojure.algo.generic.functor :as fu]) > user=> (require '[me.raynes.fs :as fs]) > > user=> (defn colfn[col] (fn [a] (fu/fmap #(% a) col))) > > user=> (map (colfn [fs/directory?,identity]) (filter fs/directory?(set > (fs/list-dir ".")))) > ([true "src"] [true "target"] [true ".git"]) > > user=> (map (colfn {:is-dir fs/directory?, :dir identity}) (filter > fs/directory?(set (fs/list-dir ".")))) > ({:is-dir true, :dir "src"} {:is-dir true, :dir "target"} {:is-dir true, > :dir ".git"}) > > > My question is, if something like colfn already exists? The idea is to > generate a function of a sequence (vector, list, map) of functions which > would used in e.g. map. > > Best, > Andy > > -- 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 --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.