2017-11-30 3 views
4

Wenn ich einen Ausdruck in JShell (9.0.1) eingeben kommt es wieder mit:JShell Dollar Variablenname Nummerierung

$22 -> <value> 

Wo kommt die 22 kommen und was zu $ ​​1 bis $ 21 passiert? (Sie sind undefiniert.)

Ich erinnere mich vage (wenn ich mit Java 9.0 begann), dass die Variablen mit $ 1 begannen, was sinnvoller war. Jetzt, mit 9.0.1, beginnen alle mit $ 22. Warum?

Antwort

4

Sie sind da, einfach eine

/list 

die Liste aller zu finden. Sie sind da, weil Sie anscheinend bereits 1 bis 21 [21 Snippets/Statements] konsumiert haben, bis Sie das $22 -> <value> Snippet erreicht haben.

Der Versuch, /reset und dann das Hinzufügen Schnipsel sollten Sie zurück gesetzt: -

jshell> 0+1 
$1 ==> 1 
+1

Dank! Ich weiß jetzt, dass die $ 1 bis $ 21 die implizit erzeugten Druckmethoden sind, wenn ich jshell mit der Befehlszeile 'jshell PRINTING' starte. – DodgyCodeException

+0

@DodgyCodeException In der Tat nahm ich an, als ich schrieb * bereits verbraucht. * – nullpointer