and(expr, ...)
Return false
if one of expr, ...
s evaluates to false
,
otherwise return the value of the last expression or true
.
If no arguments are present, return true
.
Note that and
is implemented as a macro. So it will evaluate its arguments
only if that is required to get the final result.
let (x = 3) and(x > 2, x < 4)
// true
let (x = 5) and(x > 2, x < 4)
// false
and(false, 1, 2, 3)
// false
and(1, 2, 3)
// 3