Java
 Computer >> コンピューター >  >> プログラミング >> Java

Java 9のJShellで以前に入力したスニペットを一覧表示する方法

JShellは、Java 9で正式に導入されたRead-Evaluate-Print-Loop(REPL)ツールです。対話型シェルとして動作し、main()メソッドを用意することなく、JavaやJava APIのプロトタイプ作成、デバッグ、学習を素早く行うことができます。

/listコマンドによるスニペット履歴の表示

JShellの「/list」コマンドを使用すると、そのセッション内で入力したすべてのスニペットが、スニペットIDと呼ばれる一意の識別子とともに出力されます。

ただし、デフォルトの出力には有効な文や式だけが表示され、エラーになった入力は含まれません。エラーも含めて過去に入力したすべてのコードを確認したい場合は、「-all」オプションを付けて「/list」コマンドを実行します。

JShellでの実行例

以下の例では、JShell上で変数宣言、式、クラス定義、メソッド定義など、さまざまなステートメントを入力しています。

C:\Users\User>jshell
| Welcome to JShell -- Version 9.0.4
| For an introduction type: /help intro

jshell> int x=20
x ==> 20

jshell> "Java 9"
$2 ==> "Java 9"

jshell> System.out.println($2)
Java 9

jshell> class Test {
...> }
| created class Test

jshell> void print() {
...> System.out.println("Tutorialspoint");
...> }
| created method print()

jshell> print()
Tutorialspoint

jshell> System.out.println(x)
20

/listコマンドで入力履歴を確認する

続いて、「/list」コマンドを実行すると、それまでに入力したすべてのスニペットがスニペットID付きで一覧表示されます。

jshell> /list

1 : int x=20;
2 : "Java 9"
3 : System.out.println($2)
4 : class Test {
}
5 : void print() {
System.out.println("Tutorialspoint");
}
6 : print()
7 : System.out.println(x)

このように、各行の先頭にある番号がスニペットIDです。このIDを利用すれば、「/drop」コマンドで特定のスニペットを削除したり、「/edit」コマンドで編集したりすることも可能です。REPLならではの対話的な開発サイクルの中で、入力履歴を簡単に振り返れるのが「/list」コマンドの大きな利点です。

  1. Java 9のJShellでシステムプロパティを取得する方法【コード例付き】

    JShellは、REPL(Read-Evaluate-Print-Loop)と呼ばれる対話型ツールです。main()メソッドを持つクラスを作成しなくても、簡単なJavaの文を入力するとその場で評価され、結果がすぐに表示されます。起動も簡単で、コマンドラインプロンプトで「jshell」と入力するだけでOKです。 システムプロパティを取得するには、System.getProperty()メソッドとSystem.getProperties()メソッドを使用します。 まずは、Systemクラスのstaticメソッドであるproperty()を使って、特定のシステムプロパティの値をJShell上で表示

  2. Java 9でJavaFXを使ってJShellをプログラムから実装する方法

    JShellは、サンプル式を対話的に実行できるツールです。通常はコマンドラインから利用しますが、JavaFXアプリケーションの中でプログラム的にJShellを実装することも可能です。その場合、Javaプログラムに以下のパッケージをインポートする必要があります。import jdk.jshell.JShell; import jdk.jshell.SnippetEvent; import jdk.jshell.VarSnippet;これらのクラスの役割は次のとおりです。JShell:評価エンジンの本体。式や文を評価(eval)するためのAPIを提供します。SnippetEvent:評価結果として