JShell es un bucle de lectura-evaluación-impresión de Java que se introdujo por primera vez en el JDK 9. [ 1 ] Se le da seguimiento mediante 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 ha desviado 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 fact(int n) { ...> devolver n < 2 ? 1 : n * fact(n - 1); ...> } | método creado fact(int) jshell> para (int i = 0; i < a.length; ++i) ...> a[i] = fact(a[i]); jshell> a a ==> int[5] { 1, 1, 6, 120, 40320 } Véase también
Referencias
- ↑ "Oracle anuncia Java SE 9 y Java EE 8" . Oracle Corporation . 21 de septiembre de 2017. Archivado del original el 22 de septiembre de 2017. Consultado el 25 de septiembre de 2017 .
- ↑ "JEP 222: jshell: El intérprete de comandos de Java (bucle de lectura-evaluación-impresión)" . Oracle Corporation . 10 de octubre de 2016. Consultado el 1 de noviembre de 2016.
Proporciona una herramienta interactiva para evaluar declaraciones, sentencias 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 . 10 de octubre de 2016. Consultado el 1 de noviembre de 2016.
Otra alternativa es mantener el statu quo: usar otro lenguaje o usar 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. 3 de septiembre de 2015. Archivado del original el 5 de septiembre de 2015. Recuperado el 1 de noviembre de 2016. 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 de que (¿o quizás porque?) dos grandes empresas, Sun y Google, se habían unido al grupo de expertos. Bajo la iniciativa JCP.next, este JSR fue declarado "Inactivo".
Categorías :
- shells de comandos
- Software multiplataforma
- Componentes JDK
- Intérpretes (informática)
- Temas básicos de lenguajes de programación