JShell es una herramienta de bucle de lectura, evaluación e impresión de Java que se introdujo por primera vez en JDK 9 . [1] Es rastreada por JEP 222: jshell: The Java Shell (Read-Eval-Print Loop). [2]
Una de las razones por las que se propuso JShell para Java 9 es que muchas aplicaciones usan sus propios mecanismos para evaluar de forma interactiva expresiones, y la biblioteca de facto para usar un REPL de Java era a menudo BeanShell , que es un proyecto inactivo desde 2003, y que hizo cambios arbitrarios en el lenguaje Java. [3] [4]
Ejemplo
$ jshell| Bienvenido a JShell - Versión 9| Para una introducción, escriba: / help introjshell> int a [] = {0,1,3,5,8}a ==> int [5] {0, 1, 3, 5, 8}jshell> int hecho (int n) { ...> return n <2? 1: n * fact (n-1); ...>}| hecho del método creado (int)jshell> para (int i = 0; i;> ...> a [i] = hecho (a [i]);jshell> aa ==> int [5] {1, 1, 6, 120, 40320}jshell> / salir| AdiósPS
Ver también
Referencias
- ^ "Oracle anuncia Java SE 9 y Java EE 8" . Oracle Corporation . 2017-09-21 . Consultado el 25 de septiembre de 2017 .
- ^ "JEP 222: jshell: el shell de Java (bucle de lectura-evaluación-impresión)" . Oracle Corporation . 2016-10-10 . Consultado el 1 de noviembre de 2016 .
Proporcionar una herramienta interactiva para evaluar declaraciones, declaraciones y expresiones del lenguaje de programación Java, junto con una API para que otras aplicaciones puedan aprovechar esta funcionalidad.
- ^ "JEP 222: jshell: el shell de Java (bucle de lectura-evaluación-impresión)" . Oracle Corporation . 2016-10-10 . Consultado el 1 de noviembre de 2016 .
Otra alternativa es mantener el status quo: use otro idioma o use un REPL de terceros como BeanShell, aunque ese REPL en particular ha estado inactivo durante muchos años, se basa en JDK 1.3 y realiza cambios arbitrarios en el idioma.
- ^ "JShell, Java 9 REPL - ¿Qué hace?" . jaxenter.com. 2015-09-03 . Consultado el 1 de noviembre de 2016 .
BeanShell (al igual que Groovy, por cierto) hizo un intento de estandarización por parte del Proceso de la comunidad de Java en JSR 274, un JSR que no produjo ningún resultado notable, a pesar del hecho de que (¿o quizás porque?) Dos compañías importantes , Sun y Google, se habían unido al grupo de expertos. Bajo la iniciativa JCP.next, esta JSR fue declarada "inactiva".