sábado, 17 de mayo de 2014

Uso de case en Clojure

En la otra ocasión vimos como introducir datos desde Clojure usando la librería java.util.Scanner, ahora veremos como hacer uso de 'case',es  algo parecido al switch de otros lenguajes como C y Java.


Supongamos introducimos un número del 1 al 3.

(import '(java.util Scanner))
(def entrada (Scanner. *in*))
(println "Introduce un número del 1 al 3:")
(def numero (.nextLine entrada))

Ahora crearemos nuestro 'switch'.

(case numero
  "1" (println "Introduciste el numero 1")
  "2" (println "Introduciste el numero 2")
  "3" (println "Introduciste el numero 3")
)

Si introduzco el número 1, mostrará el primer mensaje, pero ¿qué pasa si coloco otro número que no sean esos 3?

Para ello definimos un "else" a ese 'switch':

(case numero
  "1" (println "Introduciste el numero 1")
  "2" (println "Introduciste el numero 2")
  "3" (println "Introduciste el numero 3")
  (str "else" numero(println "Ese numero no esta en el rango"))
)
Si introducimos otro número (como el 6,por ejemplo, u otro alguno) mostrará el mensaje del "else".

Código completo:
;;importamos la librería java.util.Scanner
(import '(java.util Scanner))
(def entrada (Scanner. *in*))

;;solicitamos un número del 1 al 3
(println "Introduce un número del 1 al 3:")
(def numero (.nextLine entrada))

;;nuestro 'switch'
(case numero
  "1" (println "Introduciste el numero 1")
  "2" (println "Introduciste el numero 2")
  "3" (println "Introduciste el numero 3")
  (str "else" numero(println "Ese numero no esta en el rango"))
) Ejecutar:
java -jar clojure-1.6.0.jar  case.cjl 

No hay comentarios:

Publicar un comentario

WMIC

¿Has tenido la necesidad de obtener  la licencia OEM de tu PC o alguna otra característica técnica?  Usualmente existen herramientas visua...