COND is an unusual function which may take any arbitrary number of arguments.
Each argument is called a clause, and consists of a list of exactly two S-expressions.
We will call the first S-expression in a clause a condition, and the second S-expression a result.
Thus, a call to COND looks like this:
(COND
(condition1 result1)
(condition2 result2)
...
(T resultN))
The value returned by COND is computed as follows:
- if
condition1 is true (not NIL), then return result1;
- else if
condition2 is true then return result2;
- else if ...; else return
resultN.
It is an error if none of the conditions are true, and the result of the COND is undefined.
For this reason, T is usually used as the final condition.