2017-01-24 21 views
8

私はjshellを試していて、複数の行の式を貼り付けるオプションが見つかりませんでした。複数の行をjshellに貼り付けることさえできますか? scalaがpaste modeで提供するものと同様です。jshellの複数行の貼り付け

+0

ロバート・フィールドによると、これは、[このバグ]ごとに修正されました(https://bugs.openjdk.java.net/browse/JDK-8169595)。それはまだあなたのための問題ですか? –

答えて

6

だからあなたは、このようなコードがある場合:

int c = 2; 
int j = 4; 
int x = 5; 

コピーをしてjshellにペーストし、最初の2つのステートメントは処理されます。

しかし、あなたは、このようなコードがある場合:

int c = 2; int j = 4; int x = 5; 

をそしてjshellに貼り付けます。このようなコードの

jshell> int c = 2; int j = 4; int x = 5; 
     c ==> 2 
     j ==> 4 
     x ==> 5 

さらにライン:

HashMap<Integer, Integer> map2 = new HashMap<>(); for (int i = 0; i < 15; ++i) { map2.put(i, i);map2.put(i, i); } System.out.println(map2); 

が実際に動作します。

なぜですか?私には分かりません。

/編集

と、あなたが好きなだけを貼り付けることができます。

私はそのコピー/ペーストが動作します知っている唯一の方法は、(jshellに入力)を介してです。

+0

ありがとうございます。私は何か、あるいは文書化されていないコマンドがないかどうか疑問に思っていただけです。 –

+1

@KunalKanojiaはあなたが何かを見逃したようには思われません... – Eugene

3

私はそれを試してみましたが、最初の2行だけが処理されました。また、最後に3行以上の改行を追加して試したところ、最初の2行だけが処理されました。私は理由を知らないが、バグだと思う。

3

これはバグでした。それが修正されました:

https://bugs.openjdk.java.net/browse/JDK-8169595 
+0

彼らは懸垂の問題を修正したようですが、私はまだ2行以上を貼り付けることができません(9 + 181をビルド) –

関連する問題