JShell la herramienta REPL incorporada en Java 9

Escrito por picodotdev el , actualizado el .
java planeta-codigo programacion
Enlace permanente Comentarios

Java

Una de las novedades de Java 9 es la incorporación de una herramienta Read-Evaluation-Print-Loop o REPL similar a las disponibles en otros lenguajes dinámicos para permitir evaluar pequeños ejemplos de código, hacer pruebas o como herramienta para alguien que esté aprendiendo a programar sin la necesidad de utilizar un entorno integrado de desarrollo, una herramienta de construcción y los varios archivos y comandos necesarios para compilar y ejecutar el código Java.

El comando de la herramienta JShell es jshell que inicia un símbolo del sistema donde empezar a introducir las expresiones, se sale de jshell con el comando /exit.

JShell

JShell

Se pueden crear variables, crear y modificar definiciones de métodos y clases. Cada una de estas expresiones crea un snippet de código que pueden listarse con el comando /list. Al introducir las expresiones se soporta completado y asistencia de código con la tecla tabulador como ayuda para saber que métodos tiene un objeto.

Se pueden crear clases y métodos como en el ejemplo de la serie de Fibonacci implementada con un Stream de la cual se muestran los elementos de la serie menores que el número 100.

Expresiones Asistencia de código

Expresiones y asistencia de código

Serie de Fibonacci con un Stream en un método

Serie de Fibonacci con un Stream en un método

Para diferenciar las expresiones de código de los comandos estos últimos son precedidos por el caracter /. Hay varios como los ya citados para listar los snippets de código y salir de jshell, otros son para listar las definiciones de variables con /vars, métodos con /methods, tipos con /types e imports con /imports. La lista completa de comandos puede obtenerse pulsando la tecla tabulador después de la barra de comando.

Comandos

Comandos

Para los snippets multilínea o algo complejos puede utilizarse un editor externo con el comando /edit. El editor de nuestra preferencia se establece con el comando /set.

También se pueden añadir módulos o librerías para usar las clases y tipos que contengan con el comando /env y las opciones \-\-add-modules \-\-module-path y \-\-class-path. Los snippets creados en una sesión pueden guardarse en un archivo con el comando /save y ser cargados al inicio de JShell o con el comando /open.

En la guía oficial de JShell se comenta algunas opciones más de esta nueva herramienta.

Comparte el artículo: