J'essayais jshell et ne pouvais pas trouver l'option pour coller des expressions de ligne multiples. Est-il même possible de coller plusieurs lignes dans jshell. Semblable à ce que propose scala avec paste mode
.Coller multiline dans jshell
Répondre
Donc, si vous avez du code comme ceci:
int c = 2;
int j = 4;
int x = 5;
copier et coller dans jshell, seules les deux premières déclarations sont traitées.
Mais si vous avez du code comme ceci:
int c = 2; int j = 4; int x = 5;
et coller dans jshell:
jshell> int c = 2; int j = 4; int x = 5;
c ==> 2
j ==> 4
x ==> 5
Encore plus de lignes de code comme ceci:
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);
va effectivement travailler.
Pourquoi? Je ne sais pas.
La seule façon que je sais que copier/coller fonctionne est via (tapez dans jshell):
/modifier
et vous pouvez coller autant que vous le souhaitez.
Merci. Je me demandais juste s'il me manquait quelque chose ou une commande non documentée. –
@KunalKanojia ne semble pas avoir manqué quelque chose ... – Eugene
Je l'ai essayé et seules les deux premières lignes sont traitées. Également essayé avec des nouvelles lignes supplémentaires à la fin et plus de trois lignes, et encore seulement les deux premières lignes ont été traitées. Je ne sais pas pourquoi mais je pense que c'est un bug.
C'était un bug. Il a été fixé:
https://bugs.openjdk.java.net/browse/JDK-8169595
On dirait qu'ils ont corrigé le problème de la pendaison, mais je ne peux toujours pas coller plus de 2 lignes (build 9 + 181) –
Selon Robert Field cela a été fixé par [ce bug] (https://bugs.openjdk.java.net/browse/JDK-8169595). Est-ce toujours un problème pour vous? –