JavaのJShellについて。
|
JShellはJava9で導入された対話型ツール(REPL)。
Java9以降のJDKをインストールすれば使える。
> jshell --version jshell 9
> jshell
Javaのプレビュー版の機能を使いたい場合は--enable-previewを付けて起動する。[2020-10-06]
> jshell --enable-preview
システムに渡すフラグ(-Dxxxとか)を指定する場合は、-Jもしくは-Rを使う。[2022-03-23]
-JはJShellそのものに対する設定で、-RはJShell上で動くプログラムに対する設定らしい。
> jshell -R-Dfile.encoding=UTF-8 jshell> System.getProperty("file.encoding") $1 ==> "UTF-8"
JShell独自のコマンドは「/」で始める。
タブキーで補完することが出来るので、「/」を入力した後にタブキーを押すとコマンド一覧が表示される。
/! /? /drop /edit /env /exit /help /history /imports /list /methods /open /reload /reset /save /set /types /vars
「/help」でコマンド一覧が表示される。
「/help コマンド」でコマンドのヘルプが表示される。
JShellを終了するには「/exit」を実行する。
JShellではTabキーで入力補完が出来るほか、Shift+Tabで特殊な補完が出来る。[2020-10-06]
詳細は「/help shortcuts」で確認できる。
Shift+Tabを押してから文字キーを押すと、それに応じた補完が出来る。
(Shift+Tabを押しながら文字キーを押すのではない(Shift+Tabを押しながら文字キーを押すとエラーになる。Shift+Tabを押し、一旦離してから次の文字キーを押す))
ショートカット | 例 | 説明 |
---|---|---|
Shift+Tab→i |
jshell> LocalDate ↓Shift+Tabを押してからiを押す jshell> LocalDate
0: 何もしない
1: import: java.time.LocalDate
選択:
↓1を押す jshell> LocalDate
0: 何もしない
1: import: java.time.LocalDate
選択:
imported: java.time.LocalDate
shell> LocalDate
|
入力されたクラスをimportする。 |
Shift+Tab→v |
jshell> 123 ↓Shift+Tabを押してからvを押す jshell> int = 123
|
入力された値を代入するための変数宣言を用意する。 カーソルは変数名を入力する位置に移動するので、 そこで変数名を入れればよい。 |
Shift+Tab→m |
jshell> 123 ↓Shift+Tabを押してからmを押す jshell> int () { return 123; }
|
入力された値を返すメソッド宣言を用意する。 カーソルはメソッド名を入力する位置に移動するので、 そこでメソッド名を入れればよい。 |
Ctrl+r | 過去に実行したものを検索する。[2021-09-19] |