>  기사  >  Java  >  Java 9에서 REPL의 다양한 상태는 무엇입니까?

Java 9에서 REPL의 다양한 상태는 무엇입니까?

PHPz
PHPz앞으로
2023-08-18 16:29:17818검색

REPL 읽기-평가-인쇄-루프를 나타냅니다. JShell의 각 문에 대해 하나씩 일부 상태를 저장합니다. 이 상태는 코드 조각과 변수의 실행 상태를 결정합니다. 코드를 평가하는 데 사용되는 JShell 인스턴스의 eval() 메서드 결과로 확인할 수 있습니다.

아래에는 7가지 상태가 나열되어 있습니다.

  • DROPPED: 코드 조각이 비활성화되었습니다.
  • NONEXISTENT: 코드 조각이 아직 존재하지 않기 때문에 비활성화됩니다.
  • OVERWRITTEN: 코드 조각이 새 코드 조각으로 대체되었기 때문에 비활성화되었습니다.
  • RECOVERABLE_DEFINED: 스니펫은 본문에 해결되지 않은 참조나 기타 문제가 있을 수 있는 선언적 코드 스니펫입니다.
  • RECOVERABLE_NOT_DEFINED: 코드 조각은 본문에 해결되지 않은 참조나 기타 문제가 있을 수 있는 선언적 코드 조각입니다.
  • REJECTED: 초기 평가에서 컴파일이 실패하고 JShell 상태를 추가로 변경하여 유효하게 만들 수 없기 때문에 코드 조각이 비활성화됩니다.
  • VALID: 코드 조각은 유효한 코드 조각입니다.

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");
         }
      }
   }
}

출력

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

위 내용은 Java 9에서 REPL의 다양한 상태는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제