JShell la herramienta REPL incorporada en Java 9
Escrito por
el , actualizado el .
java
planeta-codigo
programacion
Enlace permanente
Comentarios
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
.
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.
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.
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.