In your has22 definition, (by-pairs [a]) should be (by-pairs a) On Sun, Jul 29, 2012 at 9:07 AM, John Holland <jbholl...@gmail.com> wrote: > I'm doing some exercises in coding that are meant for Java but I'm doing > them in Clojure. I'm stuck on this one. The goal is > to return true if an array of ints contains two consecutive 2s. I figured > I'd use Stuart Halloway's by-pairs function to turn the sequence > into pairs of numbers and check for a pair that is 2,2. This code in has22 > below works if pasted into the REPL and evaluated but as a > function it always returns false. If anyone can explain my error to me it'd > be great. > > > > > > > > ( defn by-pairs [coll] (let [take-pair (fn [c] > (when (next c) (take 2 c)))] > (when-let [pair (seq (take-pair coll))] > > (lazy-seq > > (cons pair (by-pairs (rest coll))))))) > > (defn has22 [a] (if (some true? (map #(= 2 (first %) (nth % 1)) (by-pairs > [a]))) true false)) > > > > user> (some true? (map #(= 2 (first %) (nth % 1)) (by-pairs [1 2 2 2 ]))) > true > > > user> (has22 [1 2 2 2]) > false > > > John Holland > > -- > 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 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