Lección 2: Instalación
En esencia, la implementación principal es un bytecode envuelto en un Clojure.jar
que es ejecutado con Java, verión 8 u 11 oficialmente. Por lo que únicamente necesitaremos la máquina virtual y el propio paquete mencionado, que puede ser descargado desde el repositorio oficial. Aún así, para facilitar su ejecución hay diferentes instalaciones en cada sistema operativo.
Sistemas operativos
OSX
brew install clojure/tools/clojure
Arch linux
sudo pacman -S clojure
Ubuntu/Debian
sudo apt-get install clojure
Windows
Necesitarás instalar PowerShell 5 (o superior, incluyendo PowerShell Core) y .NET Core SDK 2.1+ o .NET Framework 4.5+ (o superior) in. A continuación instalar Java 8+ y setear la variables JAVA_HOME. Por último:
iwr -useb download.clojure.org/install/win-install-1.10.3.814.ps1 | iex
Hola mundo
Abrimos nuestro terminal y ejecutamos.
clojure
Nos mostrará un interprete llamado REPL, que analizaremos en la siguiente lección. Lo importante es que ahora estamos dentro de un interprete de Clojure donde podemos probar cualquier sintaxis del lenguaje. Además nos informará de la versión actualmente instalada dentro del equipo.
Escribimos.
(println "Hola mundo")
Y pulsamos Enter
.
Nos imprimirá el mismo texto acompañado de un nil
(nulo). Nos esta diciendo que la función no devuelve nada que pueda ser utilizado. ¡Felicidades! Ya has realizado programación funcional. ¡Pero no te vayas! Aún queda mucho por ver.
Vamos a hacer algo más interesante, ¿qué tal si sumamos entre sí los números del 0 al 9?
(println (reduce + (take 10 (range))))
¿Qué ha pasado aquí?
range
es una lista de los números del 0 al… infinito (como oyes). A Clojure se le da de maravilla trabajar con secuencias sin límite alguno.take
indica que quiere los10
primeros elementos de esa lista. Y como se empieza contando por 0, nos devuelva la secuencia del 0 al 9.reduce
es una función que realiza una operación con cada elemento de la secuencia y lo almacena, para cuando termina devolverlo . En este caso ejecuta el operador+
con cada número.println
imprime el resultado en una nueva línea.
Es hora de conocer un poco más este interprete más poderoso de lo que aparenta.
Esta obra está bajo una Licencia Creative Commons Atribución-NoComercial-SinDerivadas 4.0 Internacional.
¿Me invitas a un café? ☕
Puedes hacerlo usando el terminal.
ssh customer@andros.dev -p 5555
Comentarios
Nuevo comentario
Nueva replica {{ formatEllipsisAuthor(replyComment.author) }}
Escribe el primer comentario
{{ comments.length }} comentarios