Java 9 の REPL のさまざまな状態は何ですか?

PHPz
リリース: 2023-08-18 16:29:17
転載
845 人が閲覧しました

REPL は、Read-Evaluate-Print-Loop を表します。これは、JShell のステートメントごとに 1 つずつ、いくつかの状態を保存します。この状態により、コードフラグメントと変数の実行ステータスが決まります。これは、コードの評価に使用される JShell インスタンスの eval() メソッドの結果によって決定できます。

7 つの異なる状態を以下に示します。

  • DROPPED: コード スニペットは非アクティブです。
  • NONEXISTENT: スニペットはまだ存在しないため、非アクティブです。
  • 上書き: コード スニペットは新しいコード スニペットに置き換えられたため、非アクティブになっています。
  • 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 中国語 Web サイトの他の関連記事を参照してください。

ソース:tutorialspoint.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!