- (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))
>>>>
>
soy estudiante de la uam y estoy haciendo prácticas de lisp en una asignatura y se me hace muy dificil lisp aunque creo que sere yo que soy un poco torpe porque a mis compañeros se les da bien lisp
Yo tambien estoy haciendo prácticas de LISP en la asignatura IA de la UAM y esto es mazo complicado y solo estoy en la práctica 1.
¿Tú has aprobado ya estaasignatura?
es la primera vez que veo LISP y se me hace que es lo mismo que los demas lengujes solo que con diferente sintaxis
Programo en LISP varios años y no es imposible aprenderlo sólo requiere practicarlo varias veces y se hará fácil, que bueno que se enseñe en algunas universidades aquí en Perú no sucede eso.