¿Cuál es la diferencia entre if y cond en lenguaje Lisp? Si hay dos condiciones, if y cond else tienen el mismo efecto.
Cuando hay dos situaciones, simplemente use la función if. Cuando hay más de dos situaciones, es más conveniente usar la función cond.
Ejemplo 1: Si a>0, entonces b=+1; de lo contrario, b=-1
(if (a>0) (setq b +1) (setq b -1))
Ejemplo 2: Si a>=100, entonces b=2; si 10<=a<100, entonces b=1;
(cond
((>= a 100) (setq b 2))
((>= a 10) (setq b 1))
(t (setq b 0))
)
¡Espero que te ayude!