On Thu, Jan 03, 2013 at 11:14:30PM -0800, Evan Mezeske wrote:
Wouldn't it be more accurately named "if-and-let" if it supported that? E.g.
(if (and x y z) ...).
I can see regular if-let being useful with more than one form, just
using the last value for the conditional.
(if-let [a expr, b expr] ii ee)
could become
(let [a expr, b expr] (if a ii ee))
Often, it is useful to have several intermediate results in a let:
(if-let [subpart (complex-to-compute ...)
part (other-expr subpart ... subpart)]
...)
David
On Thursday, January 3, 2013 10:24:57 PM UTC-8, Edward Tsech wrote:
Hey guys,
if-let and when-let macros support only 2 forms in binding vector:
(if-let [x 1 y 2]
...)
java.lang.IllegalArgumentExcepdtion: if-let requires exactly 2 forms
in binding vector(NO_SOURCE_FILE:1)
Why doesn't "if-let" support any even amount of binding forms as "let"
does?
e.g.
(if-let [x 1 y 2 z 3]
(+ x y z)
0) ; => 6
(if-let [x 1 y nil z 3]
(+ x y z)
0) ; => 0
Thanks!
--
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 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