if

La conditionnelle la plus fondamentale est le if. Son premier argument est une expression appelée la condition qui sera toujours évaluée. Le deuxième et le troisième arguments du if forment respectivement la partie alors et la partie sinon. Si la valeur de la condition vaut vrai (n'importe quel objet Common Lisp autre que nil) ou faux (l'objet nil), l'expression de la partie alors ou celle de la partie sinon sera évaluée. Exemples :

* (if (> *read-base* 7)
      (progn (print "hello") (+ *read-base* 22))
      11)

"hello"
32
* (if (< *read-base* 7)
      (progn (print "hello") (+ *read-base* 22))
      11)

11
* (if 0
      (progn (print "hello") (+ *read-base* 22))
      11)

"hello"
32
*

Il est possible d'omettre la partie sinon, qui sera alors nil par défaut :

* (if (oddp *read-base*)
      (progn (print "hello") (+ *read-base* 22)))

NIL
*
mais c'est considéré comme du mauvais style.

Irene DURAND
2011-10-14