JShell es un bucle de lectura-evaluación-impresión de Java que se introdujo por primera vez en el JDK 9. [ 1] Se rastrea en JEP 222 jshell: The Java Shell (Read-Eval-Print Loop) . [2] Una razón por la que se propuso JShell para Java 9 es la falta de un entorno interactivo estándar para el lenguaje; la biblioteca de facto para usar un REPL de Java era a menudo BeanShell , que ha estado inactiva desde 2003 y se apartó arbitrariamente del lenguaje Java. [3] [4]
Ejemplo
jshell> int a[] = { 0, 1, 3, 5, 8 }
a ==> int[5] { 0, 1, 3, 5, 8 }
jshell> int hecho(int n) {
...> devolver n < 2 ? 1 : n * hecho(n - 1);
...> }
| método creado fact(int)
jshell> para (int i = 0; i < a.length; ++i)
...> a[i] = hecho(a[i]);
jshell>un
a ==> int[5] { 1, 1, 6, 120, 40320 }
Véase también
Referencias
- ^ "Oracle anuncia Java SE 9 y Java EE 8". Oracle Corporation . 2017-09-21. Archivado desde el original el 2017-09-22 . Consultado el 2017-09-25 .
- ^ "JEP 222: jshell: The Java Shell (Read-Eval-Print Loop)". Oracle Corporation . 10 de octubre de 2016 . Consultado el 1 de noviembre de 2016 .
Proporcionar una herramienta interactiva para evaluar declaraciones, instrucciones y expresiones del lenguaje de programación Java, junto con una API para que otras aplicaciones puedan aprovechar esta funcionalidad
- ^ "JEP 222: jshell: The Java Shell (Read-Eval-Print Loop)". Oracle Corporation . 2016-10-10 . Consultado el 2016-11-01 .
Otra alternativa es mantener el status quo: utilizar otro lenguaje o utilizar 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 lenguaje.
- ^ "JShell, el REPL de Java 9: ¿qué hace?". jaxenter.com. 2015-09-03. Archivado desde el original el 2015-09-05 . Consultado el 2016-11-01 .
BeanShell (al igual que Groovy, por cierto) intentó estandarizarse mediante el Java Community Process en JSR 274, un JSR que no produjo ningún resultado notable, a pesar del hecho de que (¿o quizás debido a eso?) dos grandes empresas, Sun y Google, se habían unido al grupo de expertos. Bajo la iniciativa JCP.next, este JSR fue declarado "inactivo".