OR
returns a logical true value,
or
returns that value and doesn'tevaluate any of the other expressions, otherwise it returns the
value of the last expression. (or) returns nil.
Size: a a a
OR
or
returns that value and doesn'tST
ST
MK
MG
ST
MK
T
user=> (first (filter some? [nil false true]))
false
MK
ST
MK
MK
some?
ST
some?
OR
user=> (some identity [nil nil 1 2 3])
1
MK
(defmacro x [& body]
(let [[h & r] body]
(if (seq r)
`(if-some [v# ~h]
v#
(x ~@r))
h)))
(x nil nil false true)
OR
OR
MK
ST