2016-03-02 1 views
3

JShell est un Java REPL dont la sortie est prévue avec Java 9; Cependant, il existe une version bêta ouverte pour cela.Comment arrêter une boucle infinie dans JShell/Kulla?

Si je crée une boucle infinie dans JShell (Kulla Project) en tapant:

-> while(true) {} 

JShell en boucle pour toujours. À moins de quitter complètement JShell, existe-t-il un moyen d'arrêter une ligne de code individuelle pendant qu'elle s'exécute dans JShell (après avoir déjà commencé l'évaluation du code)?

Répondre

3

En fait, il y a un moyen. Il suffit de frapper CTRL +c:

-> while(true) {} 
Killed. 

-> 

Il va tuer la boucle et sera pas quitter le shell.

Notez que cela prendra ~ 1-2 secondes pour que le processus de destruction se termine, si vous le frappez deux fois, il va tuer l'instruction et quittera le shell.

J'utilise JDK 9 EA build 107 on 03-01-2016 (#4560)

+1

"Short de tuer complètement JShell" –

+0

@DanielM. Cela ne va pas * tuer * JShell, ne fera que terminer la boucle infinie. – Maroun

+0

Je dois avoir frappé deux fois par accident puis –