En este artículo, discutiremos la construcción de casos en LISP. Esto se usa para verificar múltiples condiciones de prueba a la vez, a diferencia de cond, siempre y cuando permita múltiples condiciones.
Sintaxis:
(case (key_value) ((key1) (statement 1 .............. statement n) ) ((key2) (statement 1 .............. statement n) ) ................ ((keyn) (statement 1 .............. statement n) )
Aquí,
- key_value es el valor numérico tomado como entrada
- las claves son las diferentes condiciones para probar la condición particular especificada en las claves
Ejemplo 1: programa LISP para obtener el número particular cuando se da el número.
Lisp
;define value to 2 (setq val1 2) ;define 5 cases from 1 to 5 (case val1 (1 (format t "you selected number 1")) (2 (format t "you selected number 2")) (3 (format t "you selected number 3")) (4 (format t "you selected number 4")) (5 (format t "you selected number 5")) )
Salida :
you selected number 2
Ejemplo 2: Programa LISP para realizar una operación aritmética cuando se elige una tecla en particular.
Lisp
;define value1 to 10 (setq val1 10) ;define value2 to 20 (setq val2 20) ;set input to 1 (setq input 1) ;define 4 cases to perform each arithmetic operation (case input ;condition to perform addition (1 (print (+ val1 val2))) ;condition to perform subtraction (2 (print (- val1 val2))) ;condition to perform multiplication (3 (print (* val1 val2))) ;condition to perform division (4 (print (/ val1 val2))) )
Salida :
30
Ahora, si establecemos la entrada en 3:
Lisp
;define value1 to 10 (setq val1 10) ;define value2 to 20 (setq val2 20) ;set input to 3 (setq input 3) ;define 4 cases to perform each arithmetic operation (case input ;condition to perform addition (1 (print (+ val1 val2))) ;condition to perform subtraction (2 (print (- val1 val2))) ;condition to perform multiplication (3 (print (* val1 val2))) ;condition to perform division (4 (print (/ val1 val2))) )
Salida :
200
Publicación traducida automáticamente
Artículo escrito por saisravanprojects y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA