

Per altre storie.
Quando ho iniziato a conoscere Python ho incontrato la shell interattiva, che è una caratteristica davvero bella per esplorare l’API, la prototipazione e poi ho pensato perché non è in Java. Ma la risposta è qui. JDK 9 viene fornito con il progetto Kulla. Qual è l’obiettivo del progetto Kulla? Master in Java9
The goal of the Kulla project is to investigate the creation of a
Read Evaluate Print Loop (REPL) tool for the Java programming
language.
Quando il mio amico mi chiede perché ami Java. Ho detto loro che Java è ricco. C’è un modo nativo per REPL (Read-eval-print loops). Se volete controllare rapidamente il System.out.print(“Hello world”); allora dovete creare un progetto separato. JShell è emerso un potente strumento introdotto in JDK9.
JShell è un parco giochi, sul parco giochi puoi giocare a cricket, calcio o qualsiasi cosa tu voglia.
JShell è profondamente integrato con JDK. JShell è strettamente integrato con il compilatore Java e la macchina virtuale Java, JShell migliora l’esperienza di programmazione del linguaggio Java. Puoi testare il tuo codice mentre lo crei, e molto prima di aver finito l’intero progetto. JShell è una semplice shell UNIX che leggerà gli insiemi di istruzioni, li valuterà & presentando il risultato.
I vantaggi di JShell.
- Riduce la curva di apprendimento di Java
- Iniziare l’espressione piuttosto con le classi.
- Immediato feedback & facile comprensione.
- Esplorare nuove API, sperimentare, ottenere immediatamente un risultato.
- Scrivere codice complesso.
JShell prende due tipi di input
- codice Java “Snippets” – snippet è piccoli pezzi di codice.
- Comandi JShell.
L’esperienza senza teoria è cieca, ma la teoria senza esperienza è solo un gioco intellettuale.
Sperimentiamo la JShell &interagiamo con il progetto Kulla. Sporcatevi le mani.
Per scaricare il JDK9 cliccate qui.
Per mac os più percorso JDK. Si prega di passare attraverso questo.
- Scaricare l’ultima build JDK
- impostare il percorso Java_Home &controllare la versione java

3) Aprire il terminale/punto di comando e digitare jshell.
Se Jshell non è aperto allora ho un trucco per mac os reindirizzare al seguente percorso
/Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home/bin/

Il mondo è il tuo parco giochi. Perché non state giocando? Lasciaci giocare.
Giochiamo e divertiamoci. Se sei il jshell sbagliato ti darà un messaggio significativo. Guarda sotto il messaggio “ha creato la variabile all, non può essere referenziata fino a quando gli elenchi di classe sono dichiarati”.

È possibile dichiarare, definire & chiamare un metodo da jshell.


JShell Comandi

Lista dei comandi JShell
/help – per ottenere la lista dei comandi.
| /list – elenca il sorgente che hai digitato
| /edit <nome o id> – modifica una voce di sorgente a cui si fa riferimento per nome o id
| /drop <nome o id> – cancella una voce di sorgente a cui si fa riferimento per nome o id
| /save <file> – salva il sorgente snippet in un file.
| /open <file> – apre un file come sorgente di input
| /vars – elenca le variabili dichiarate e i loro valori
| /methods – elenca i metodi dichiarati e le loro firme
| /types – elenca i tipi dichiarati
| /imports – elenca gli elementi importati
| /exit – esce da jshell
| /reset – resetta jshell
| /reload – resetta e riproduce la storia rilevante – attuale o precedente (-restore)
| /classpath <path> – aggiunge un percorso al classpath
| /history – storia di ciò che hai digitato
| /help – ottiene informazioni su jshell
| /set editor|start|feedback|mode|prompt|truncation|format … – imposta le informazioni sulla configurazione di jshell
| /retain editor|start|feedback|mode – mantiene le informazioni sulla configurazione di jshell per le sessioni successive
| /? – ottenere informazioni su jshell
| /! – riesegui l’ultimo snippet
| /<id> – riesegue lo snippet per id
| /-<n> – riesegue l’n-esimo snippet precedente| intro – un’introduzione allo strumento jshell
| shortcuts – una descrizione dei collegamenti
Per esempio ‘/help intro’.

Poi gioca e divertiti. Grazie per aver letto.