Java 9のJShellで使える/varsコマンドの種類と使い方を徹底解説
JShellとは
JShellは、Java 9で導入された対話型のコマンドラインツールです。REPL(Read-Eval-Print Loop)とも呼ばれ、ユーザーの入力を受け取り、それを評価して結果を出力します。
JShellでは、内部コマンド「/vars」を使用することで、セッション中に作成されたすべての変数を一覧表示できます。JShellには、以下のように複数の「/vars」コマンドが用意されています。
/vars /vars [ID] /vars [変数名] /vars -start /vars -all
各コマンドの役割
- /vars:現在のセッションで有効なすべての変数の一覧を表示します。
- /vars [ID]:指定したIDに対応する変数とその値を表示します。このIDは、JShellが式に対して自動的に割り当てた名前($1、$2…)に対応します。
- /vars [変数名]:指定した変数名とその値を表示します。
- /vars -start:JShellの起動スクリプトに追加されているすべての変数を表示します。
- /vars -all:起動時に読み込まれた変数を含め、有効・無効の両方の変数をすべて一覧表示します。
/varsコマンドの実行例
以下のコード例では、まず式と変数を作成し、その後にさまざまな「/vars」コマンドを実行した結果を確認できます。
C:\Users\User>jshell | Welcome to JShell -- Version 9.0.4 | For an introduction type: /help intro jshell> 2 + 4 $1 ==> 6 jshell> /vars | int $1 = 6 jshell> int x = 20 x ==> 20 jshell> /vars | int $1 = 6 | int x = 20 jshell> /vars $1 | int $1 = 6 jshell> /vars x | int x = 20 jshell> /vars -all | int $1 = 6 | int x = 20 jshell> /drop x | dropped variable x jshell> /vars -all | int $1 = 6 | int x = (not-active)
このように、「/drop」コマンドで削除した変数は「(not-active)」という状態で表示されます。「/vars -all」を使えば、すでに無効になった変数も含めてすべて確認できるため、セッション全体の変数の状態を把握したい場合に非常に便利です。
-
Java 9 JShellの起動スクリプト(DEFAULT・JAVASE・PRINTING)の違いと使い方
JShellは、Java 9で導入された対話型のJavaシェルツールです。コマンドラインプロンプトから起動でき、入力したコードをその場で評価して結果を即座に表示します。いわゆるREPL(Read-Evaluate-Print-Loop:読み込み→評価→表示→繰り返し)ツールとして動作するため、コード断片の動作確認やAPIの学習に非常に便利です。 起動スクリプトの指定方法(--startupフラグ) JShellでは、起動時にスクリプトを読み込むことで、あらかじめ定義済みのimport文や便利なメソッドを使える状態でセッションを開始できます。起動スクリプトを指定するには「--startup」フ
-
Java 9のJShellで使える「/edit」コマンドの種類と使い方
JShellは、Java 9で導入されたコマンドラインツールです。main()メソッドを用意しなくても、宣言・ステートメント・式をその場で評価できるのが大きな特徴です。さらに、JShellにはJShell Edit Padという簡易テキストエディタが組み込まれており、「/edit」コマンドで起動することで、入力済みのコードを手軽に編集できます。 /editコマンドの3つの形式 JShellで利用できる「/edit」コマンドには、次の3つの形式があります。 /edit /edit [ID] /edit [コード名] /edit:引数なしで実行すると、現在アクティブなすべてのコードがテキストエデ