3 コマンド
コマンドの概要
JShellコマンドはセッション内で環境を制御したり、情報を表示します。
コマンドは、先頭のスラッシュ(/)でスニペットと区別されます。現在の変数、メソッドおよびタイプの詳細は、/vars
、/methods
および/types
コマンドを使用します。入力済スニペットのリストについては、/list
コマンドを使用します。次の例は、「スニペットの試用」の例に基づいたコマンドを示しています。
jshell> /vars
| int x = 45
| int $3 = 4
| String $5 = "OceanOcean"
jshell> /methods
| twice (String)String
jshell> /list
1 : System.out.println("Hi");
2 : int x = 45;
3 : 2 + 2
4 : String twice(String s) {
return s + s;
}
5 : twice("Ocean")
変数の型および値、メソッドのタイプ・シグネチャが表示されます。
JShellには、デフォルトの起動スクリプトが用意されており、JShellが起動する前にサイレントかつ自動的に実行されるので、ユーザーは迅速に作業に取りかかることができます。起動スクリプトからのエントリは、/list -start
または/list -all
コマンドでリクエストしないかぎり、リストされません。
jshell> /list -all
s1 : import java.util.*;
s2 : import java.io.*;
s3 : import java.math.*;
s4 : import java.net.*;
s5 : import java.util.concurrent.*;
s6 : import java.util.prefs.*;
s7 : import java.util.regex.*;
1 : System.out.println("Hi");
2 : int x = 45;
3 : 2 + 2
4 : String twice(String s) {
return s + s;
}
5 : twice("Ocean")
デフォルトの起動スクリプトは、いくつかの共通インポートから構成されます。/set start
コマンドを使用して、起動エントリをパーソナライズできます。このコマンドの詳細は、/help /set start
を入力してください。/save -start
コマンドは、現在の起動スクリプトを独自の起動スクリプトの開始点として保存します。
他の重要なコマンドには、JShellを終了するための/exit
、スニペットを保存するための/save
、ファイルからスニペットを入力するための/open
があります。
JShellコマンドをリストするには、/help
を入力します。
コマンドのタブ補完
スニペットの補完と同様に、コマンドおよびコマンド・オプションを入力する場合、[Tab]キーを使用すると自動的にコマンドまたはオプションが補完されます。入力内容から補完内容を判定できない場合、使用可能な選択肢が提示されます。
次の例は、コマンドの先頭にスラッシュ(/)を入力した後に[Tab]を押したときのフィードバックを示しています。
jshell> /<Tab>
/! /? /drop /edit /env /exit /help
/history /imports /list /methods /open /reload /reset
/save /set /types /vars
<press tab again to see synopsis>
jshell> /
一意の補完がその場所で行われます。たとえば、/l
を入力して[Tab]を押すと、行は/list
に置き換わります。
jshell> /l<Tab>
jshell> /list
タブ補完はコマンド・オプションにも使用できます。次の例は、[Tab]キーを使用して/list
コマンドのオプションを表示する例を示しています。
jshell> /list -<Tab>
-all -history -start
<press tab again to see synopsis>
jshell> /list -
[Tab]を再度押すとコマンドの概要を表示するメッセージを確認してください。これはコマンドの簡潔な説明です。[Tab]を3回押すと、ヘルプ・ドキュメントが表示されます。次の例は、[Tab]を2回押したときと3回押したときの結果を示しています。
jshell> /list -<Tab>
list the source you have typed
<press tab again to see full documentation>
jshell> /list -<Tab>
Show the snippets, prefaced with their snippet IDs.
/list
List the currently active snippets of code that you typed or read with /open
/list -start
List the evaluated startup snippets
/list -all
List all snippets including failed, overwritten, dropped, and startup
/list <name>
List snippets with the specified name (preference for active snippets)
/list <id>
List the snippet with the specified snippet ID.
One or more IDs or ID ranges may used, see '/help id'
jshell> /list -
一意の引数の補完がその場所で行われます。たとえば、/list -a<Tab>
を入力すると、-all
オプションが自動的に表示されます。
jshell> /list -a<Tab>
jshell> /list -all
スニペット名も[Tab]で補完できます。たとえば、JShellセッションでvolume
メソッドをすでに定義していた場合、メソッド名の先頭の文字を入力した後に[Tab]を押すと、メソッド名全体が表示されます。
jshell> /ed v<Tab>
jshell> /ed volume
コマンドのファイル引数の位置に[Tab]を使用すると、使用可能なファイルが表示されます。
jshell> /open <Tab>
myfile1 myfile2 definitions.jsh
<press tab again to see synopsis>
jshell> /open
一意のファイル名の補完がその場所で行われます。
jshell> /open d<Tab>
jshell> /open definitions.jsh
コマンドの省略形
省略形を使用すると、入力する量が少なくなります。コマンド、/set
サブコマンド、コマンドの引数およびコマンド・オプションは、すべて省略できます。ただし、省略形が一意の場合にかぎります。
/l
で始まるコ唯一のマンドは/list
で、-a
で始まる/list
の唯一のオプションは-all
です。したがって、次の省略形を使用すると、/list -all
コマンドを入力できます。
jshell> /l -a
また、/se
で始まる唯一のコマンドは/set
で、fe
で始まる唯一の/set
サブコマンドはfeedback
で、v
で始まる唯一のフィードバック・モードはverbose
です。これは、v
で始まるカスタムのフィードバックが存在しないことを前提としています。したがって、次の省略形を使用すると、フィードバック・モードを詳細モードに設定できます。
jshell> /se fe v
/save
と/set
の両方が同じ文字で始まるので、/s
は十分な省略形ではないことに注意してください。不明な場合は、タブ補完を使用するとオプションを表示できます。