Answering my own question. :-D
2015-02-20 11:01 GMT+01:00 Cecil Westerhof <[email protected]>:
> 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 [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
---
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 [email protected].
For more options, visit https://groups.google.com/d/optout.