如何在 Scala REPL 中输入多行命令?

How to enter a multi-line command in the Scala REPL?

我想输入类似于以下匹配指令的内容,但格式为多行。这在 Scala REPL 中可能吗?

myString match { case patt(a) => true case _ => false }

如果您只是按原样输入,REPL 应该会在您 return 时检测左大括号,这样它在找到右大括号之前不会尝试解析和执行代码大括号。

您也可以通过键入 :pa:paste 来使用粘贴模式。这将允许您以任何格式输入尽可能多的内容(两个空行将自动退出)。然后在代码输入完成后,可以按Ctrl+D进行计算。

在 Scala REPL 中进入多行模式的一种方法是在左大括号“{”之后立即按回车键,然后在每一行之后按回车键,直到输入最后一个右大括号“}” .退出多行模式后按回车

myScript match { <enter> //enter multi-line mode
  | case scriptStart(a) => true <enter>
  | case _ => false <enter>
  |} <enter> //exit multi-line mode

级联转换时,很简单,每行以点结尾。例如:

val wordcount = sc.
  textFile("MYFILE.txt").
  flatMap( x => x.split(" ") ).
  map( w => (w,1) ).
  reduceByKey( (a,b) => a+b )