Hi,
here a "short-circuiting" (in sense of realising only needed values from
the passed seq) version of a "function and".
(defn fand
[s]
(let [s (seq s)
l nil]
(if s
(when-let [f (first s)]
(recur (next s) f))
l)))
clojureql.sql=> (fand (map = [:a :b :c] [:a :b]))
true
clojureql.sql=> (fand (map = [:a :b :c] [:c :a :b]))
nil
clojureql.sql=> (fand (map = [:a :b :c] [:a :c :b]))
nil
clojureql.sql=> (fand (map = [:a :b :c] [:a :b :c]))
true
Sincerly
Meikel
--
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