Jshell 中的多行粘贴

2022-09-02 20:36:55

我正在尝试jshell,找不到粘贴多行表达式的选项。是否可以在jshell中粘贴多行。类似于 scala 提供的 。paste mode


答案 1

因此,如果您有这样的代码:

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

复制并粘贴到 jshell 中,仅处理前两个语句。

但是如果你有这样的代码:

  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中键入它):

/编辑

您可以根据需要粘贴任意数量。


答案 2

为了以防万一人们仍然在这里结束,粘贴整个代码块的一个小调整是用大括号将其包裹如下:jshell{}

{
 int c = 2;
 int j = 4;
 int x = 5; 
 // access these only in this scope though
 System.out.println("c : " + c + ", j : " + j + ", x = " + x);
}

示例屏幕:

enter image description here


推荐