[[and Talk Page | Discuss this page]] === and === See [[http://xelerus.de/index.php?s=functions&function=3 | and on Xelerus]] ^ Syntax | (and exp1 [exp2 ... expn]) -> value/Nil | ^ Arguments | exp1: an expression that evaluates to **Nil** or non-**Nil** | ^ | [exp2 ... expn]: optional expressions that each evaluate to **Nil** or non-**Nil**. | ^ Returns | If all arguments return a non-**Nil** value, then returns the value of the last argument. Otherwise, returns **Nil**. If there is only one argument, then returns the value of that argument. | ^ Category | [[logical operator functions | logical operator]] | ^ Description | Uses lazy evaluation, which means that it stops after it finds a **Nil** value or ends up evaluating every argument if all of them return a non-**Nil** value. | === Example === (and Nil (setq foo 100)) Returns **Nil**. Also, **foo** will not be set to 100 (and (setq foo 200) Nil (setq bar "baz")) Returns **Nil**. Also, **foo** will be set to **200** and **bar** will not be set to **"baz"** (and (gr (count (setq foo (list Nil Nil Nil))) 2) 5) Returns **5**. Also, **foo** will be set to **(Nil Nil Nil)** (and (setq foo Nil) (setq bar True)) Returns **Nil**. Also, **foo** will be set to **Nil** and **bar** will not be set to **True** Return to [[:Functions]] list