Статьи

JShell: предстоящий Java REPL, упакованный в JDK9

Взломать башню, взломать OpenJDK

Hack the Tower — это ежемесячная встреча разработчиков в Heron Tower на 26-м этаже с потрясающим видом на Лондон. За этим хакатоном стоят два сообщества:

Лондонское сообщество Java

Лондонская группа пользователей Scala

Принять  команду OpenJDK является постоянным участником хакатона под руководством  Мани .

У меня была возможность поиграть с JShell, предстоящим Java REPL.

Первые шаги с JShell

Вот  хорошо написанное введение, как вы можете установить JShell, в настоящее время это Kulla Project, но я считаю, что это будет команда из папки bin JDK, которая называется jshell. Быстрый обход: я исследовал JShell и нашел несколько существующих реализаций этого. Geophil, например, является реализацией оболочки, которая использовалась с JDK 1.1.

Одним из основных моментов разработки JShell является уменьшение кривой обучения, устранение шаблонных кодов и сосредоточение на точном решении. Вам не нужен главный класс для распечатки чего-либо, вы можете сделать это только с помощью System.out.println («Hello JShell»). Если вы пишете команду, точка с запятой необязательна. Было бы неплохо и в реальном Java-коде.

Мой список любимых функций

1. устранение проверенных исключений

Вам не нужно беспокоиться о блоках try-catch, JShell помещает проверенные исключения за кулисы, чтобы вы могли просто написать код, подобный этому:

-> Integer testInt = Integer.parseInt("1")

2. сохранение рабочей области в файл

Вы можете создать свои собственные методы:

1.
-> Integer myIntegerParser(String number){ return Integer.parseInt("1");  }

Будьте осторожны, точка с запятой не является обязательной в функции!

Теперь вы можете использовать свою функцию:

1.
-> Integer testTwo = myIntegerParser("2")

Без точки с запятой, конечно, потому что REPL — это делать вещи быстро.

Теперь вы можете сохранить ваше рабочее пространство как workspace1:

Если вы посмотрите в файл workspace1, там есть все ваши команды, вы можете в любое время перезагрузить его с / open workspace1 или просто отредактировать этот файл вручную и осторожно.

Недостающие функции

Это выходит за рамки, но брак с Maven и Gradle был бы действительно полезным. Представьте, что вы запускаете jshell в корне вашего проекта, jshell анализирует pom.xml, автоматически обрабатывает зависимости и загружает классы. Вау, это было бы очень мило.

Оригинальная статья в блоге Znurgl