Hi, I see you use the multi-arity form of * - did you know that you can use that with < and <= too? I think it this improves your function:
(defn params-correct-lucky-numbers [upto] (let [max (* 10 1000 1000)] (if (<= 1 upto max) true (do (println "The parameter upto should be between 1 and " max) false)))) Stig On Friday, 20 February 2015 10:16:39 UTC, Cecil Westerhof wrote: > > Answering my own question. :-D > > 2015-02-20 11:01 GMT+01:00 Cecil Westerhof <cldwes...@gmail.com > <javascript:>>: > >> I have a function to check the parameters of another function: >> (defn params-correct-lucky-numbers >> [upto] >> (let [max (* 10 1000 1000)] >> (if (< upto 1) >> (do >> (println "The parameter upto should at least be 1") >> false) >> (if (> upto max) >> (do >> (printf "The parameter upto should be below %d\n" (inc >> max)) >> false) >> true)))) >> >> I am used to something like: >> Boolean params-correct-lucky-numbers(int upto) { >> final int MAX = 10_000_000; >> >> if (upto < 1) { >> System.out.println("The parameter upto should at least be >> 1"); >> return false; >> } >> if (upto > MAX) { >> System.out.printf("The parameter upto should be below >> %d\n", MAX + 1); >> return false; >> } >> return true; >> } >> >> Personally I find this clearer. In this case it is not a big deal, but >> when you have to check 20 parameters … >> >> Could the Clojure function be rewritten into something resembling the >> Java function? (In a functional way of-course.) >> > > > I stumbled on cond, so it becomes: > (defn params-correct-lucky-numbers > [upto] > (let [max (* 10 1000 1000)] > (cond > (< upto 1) (do (println "The parameter upto should at least be 1") > false) > (> upto max) (do (printf "The parameter upto should be below %d\n" > (inc max)) > false) > :else true))) > > -- > Cecil Westerhof > -- 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.