JShell - JShell

JShell это Ява цикл чтения-оценки-печати инструмент, впервые представленный в JDK 9.[1] Это отслеживается JEP 222: jshell: оболочка Java (цикл чтения-вычисления-печати).[2]

Одна из причин, по которой JShell был предложен для Java 9, заключается в том, что многие приложения используют свои собственные механизмы для интерактивной оценки выражений, а де-факто библиотека для использования Java REPL часто BeanShell, который бездействует с 2003 года и произвел произвольные изменения в языке Java.[3][4]

Пример

$ jshell | Добро пожаловать в JShell - Версия 9 | Для вводного типа: / help introjshell> int a [] = {0,1,3,5,8} a ​​==> int [5] {0, 1, 3, 5, 8} jshell> int fact (int n) {...> return n <2? 1: n * fact (n-1); ...>} | создан метод fact (int) jshell> for (int i = 0; i  a [i] = fact (a [i]); jshell> aa ==> int [ 5] {1, 1, 6, 120, 40320} jshell> / exit | Прощай, $

Смотрите также

Рекомендации

  1. ^ "Oracle представляет Java SE 9 и Java EE 8". Корпорация Oracle. 2017-09-21. Получено 2017-09-25.
  2. ^ «JEP 222: jshell: оболочка Java (цикл чтения-вычисления-печати)». Корпорация Oracle. 2016-10-10. Получено 2016-11-01. Предоставляет интерактивный инструмент для оценки объявлений, операторов и выражений языка программирования Java вместе с API, чтобы другие приложения могли использовать эту функциональность.
  3. ^ «JEP 222: jshell: оболочка Java (цикл чтения-вычисления-печати)». Корпорация Oracle. 2016-10-10. Получено 2016-11-01. Другой альтернативой является сохранение статус-кво: используйте другой язык или сторонний REPL, такой как BeanShell, хотя этот конкретный REPL долгие годы бездействовал, основан на JDK 1.3 и вносит произвольные изменения в язык.
  4. ^ "JShell, Java 9 REPL - что он делает?". jaxenter.com. 2015-09-03. Получено 2016-11-01. BeanShell (как и Groovy, кстати, тоже) предпринял попытку стандартизации с помощью процесса сообщества Java в JSR 274 - JSR, который не дал каких-либо заметных результатов, несмотря на то, что (или, возможно, потому что?) Две крупные компании , Sun и Google присоединились к группе экспертов. По инициативе JCP.next этот JSR был объявлен «бездействующим».