Я пытался использовать jshell и не мог найти вариант вставить несколько выражений строки. Возможно ли даже вставить несколько строк в jshell. Подобно тому, что scala предлагает с paste mode
.Многострочная паста в jshell
ответ
Так что если у вас есть такой код:
int c = 2;
int j = 4;
int x = 5;
Скопируйте и вставьте в jshell, только первые два заявления обрабатываются.
Но если у вас есть такой код:
int c = 2; int j = 4; int x = 5;
и вставить в jshell:
jshell> int c = 2; int j = 4; int x = 5;
c ==> 2
j ==> 4
x ==> 5
Еще больше строк кода, как это:
HashMap<Integer, Integer> map2 = new HashMap<>(); for (int i = 0; i < 15; ++i) { map2.put(i, i);map2.put(i, i); } System.out.println(map2);
будет реально работать.
Почему? Я не знаю.
Единственный способ я знаю, что копирование/вставка будет работать это через (ввести его в jshell):
/редактировать
и вы можете вставить столько, сколько вы хотите.
Спасибо. Мне просто интересно, не хватает ли я чего-то или какой-то недокументированной команды. –
@ KunalKanojia не похоже, что вы что-то пропустили ... – Eugene
Я пробовал, и обрабатываются только первые две строки. Кроме того, вы пытались использовать дополнительные строки в конце и более трех строк, и все же обрабатывались только первые две строки. Я не знаю, почему, но я подозреваю, что это ошибка.
Это была ошибка. Это было исправлено:
https://bugs.openjdk.java.net/browse/JDK-8169595
Похоже, что они исправили проблему подвески, но я все еще не могу вставить более двух строк (построить 9 + 181) –
Согласно Роберту поле, это было зафиксировано в [этой ошибке] (https://bugs.openjdk.java.net/browse/JDK-8169595). Это все еще проблема для вас? –