Computer >> Máy Tính >  >> Lập trình >> Java

Các trạng thái trạng thái khác nhau của REPL trong Java 9 là gì?

TRẢ LỜI viết tắt của Đọc-Đánh giá-In-Vòng lặp . Nó chứa một số trạng thái và mỗi câu lệnh trong JShell có một trạng thái. Trạng thái này từ chối thực thi trạng thái của đoạn mã và các biến. Nó có thể được xác định bằng kết quả của eval () phương thức của JShell ví dụ, đánh giá mã.

Có bảy trạng thái trạng thái khác nhau được liệt kê bên dưới.

  • BỊ XÓA :Đoạn mã không hoạt động.
  • KHÔNG HIỆN TẠI :Đoạn mã không hoạt động vì nó chưa tồn tại.
  • HẠN CHẾ :Đoạn mã không hoạt động vì nó đã được thay thế bằng đoạn mã mới.
  • RECOVERABLE_DEFINED :Đoạn mã là đoạn mã khai báo có khả năng khôi phục các tham chiếu chưa được giải quyết hoặc các vấn đề khác trong nội dung của đoạn mã.
  • RECOVERABLE_NOT_DEFINED :Đoạn mã là đoạn mã khai báo có các tham chiếu có thể khôi phục được hoặc các vấn đề khác chưa được giải quyết.
  • BỊ TỪ CHỐI :Đoạn mã không hoạt động vì quá trình biên dịch không thành công khi đánh giá ban đầu và đoạn mã không có khả năng trở nên hợp lệ với các thay đổi tiếp theo đối với trạng thái JShell.
  • HỢP LỆ :Đoạn mã là đoạn mã hợp lệ.

Ví dụ

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

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

Đầu ra

Successfully executed
Successfully executed
Successfully executed