Heim  >  Artikel  >  Java  >  Was sind die verschiedenen Zustände von REPL in Java 9?

Was sind die verschiedenen Zustände von REPL in Java 9?

PHPz
PHPznach vorne
2023-08-18 16:29:17816Durchsuche

REPL steht für read-evaluate-print-loop. Es speichert einen Status, einen für jede Anweisung in JShell. Dieser Status bestimmt den Ausführungsstatus von Codefragmenten und Variablen. Sie kann anhand der Ergebnisse der Methode eval() der Instanz JShell ermittelt werden, die zur Auswertung des Codes verwendet wird.

Sieben verschiedene Status sind unten aufgeführt.

  • DROPPED: Das Code-Snippet ist inaktiv.
  • NONEXISTENT: Das Snippet ist inaktiv, da es noch nicht existiert.
  • ÜBERSCHREIBEN: Das Code-Snippet ist inaktiv, da es durch ein neues Code-Snippet ersetzt wurde.
  • RECOVERABLE_DEFINED: Ein Codeausschnitt ist ein deklarativer Codeausschnitt, dessen Text möglicherweise ungelöste Referenzen oder andere Probleme enthält.
  • RECOVERABLE_NOT_DEFINED: Ein Codeausschnitt ist ein deklarativer Codeausschnitt, dessen Text möglicherweise ungelöste Referenzen oder andere Probleme enthält.
  • ABGELEHNT: Das Code-Snippet ist inaktiv, da die Kompilierung bei der ersten Auswertung fehlgeschlagen ist und kann nicht durch weitere Änderungen am JShell-Status gültig gemacht werden.
  • GÜLTIG: Das Code-Snippet ist ein gültiges Code-Snippet.

Beispiel

import java.util.List;
import jdk.jshell.*;
import jdk.jshell.Snippet.Status;

public class JShellTest {
   public static void main(String args[]) {
      JShell shell = JShell.<strong>create()</strong>;
      <strong>List<SnippetEvent></strong> events = shell.<strong>eval</strong>("int a, b, sum; " + "a = 12; b = 11; sum = a + b; " +
                                             "System.out.println(sum);" );
      for(<strong>SnippetEvent </strong>event : events) {
         Snippet snippet = <strong>event.snippet()</strong>;
         <strong>Snippet.Status</strong> snippetstatus = shell.<strong>status</strong>(snippet);
         if(snippetstatus == <strong>Status.VALID</strong>) {
            System.out.println("Successfully executed");
         }
      }
   }
}

Ausgabe

<strong>Successfully executed
Successfully executed
Successfully executed  </strong>

Das obige ist der detaillierte Inhalt vonWas sind die verschiedenen Zustände von REPL in Java 9?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen