(if condición
expr1
expr2)
En el caso de que condición sea cierto se evalua expr1, en caso contrario expr2.
(if (< nota 5)
'suspenso
'aprobado)
(cond (cond1 expr1)
(cond2 expr2)
...
(t exprN))
Equivalente a una serie de ifs, si se cumple cond1 se evalua expr1, si no, si cond2 es cierto se evalua expr2,... El t final es opcional y dado que se cumple siempre sería equivalente a un default en un switch de java
(cond ((< nota 5) 'suspenso)
((< nota 7) 'aprobado)
((< nota 9) 'notable)
((< nota 10) 'sobresaliente)
(t 'error))
(case expresion
(valor1 expr1)
((valor2 valor3) expr2)
...
(otherwise expr))
Equivalente a los switchs de Java. Si expresión evalua a valor1 se ejecuta expr1, si evalua a valor2 o valor3 (si puede evaluar a mas de un valor se colocan en una lista) se evalua expr2,... Otherwise es equivalente a default en los switchs de java, se ejecuta si no evalúa a ninguno de los demás.
Nota: case evalua con eql!!!
(case nota
((0 1 2 3 4) 'Suspenso)
(5 'Aprobado)
(6 'Bien)
((7 8) 'Notable)
((9 10) 'Sobresaliente))
<< Home