在大多数编程语言(如Java或Python)中,我们使用行尾的“\”字符来表示下一行文档中的代码是应该继续的作为一行代码执行。但是,在Scala中,如果我们使用“\”字符和用户,将两行或更多行代码复制并粘贴到Scala交互式shell并尝试执行它,则失败。scala交互式shell文档支持复制粘贴
如何在文档中编写scala代码,其中要运行的单个命令不适合一行文本,正确记录代码并同时支持复制/粘贴?
在大多数编程语言(如Java或Python)中,我们使用行尾的“\”字符来表示下一行文档中的代码是应该继续的作为一行代码执行。但是,在Scala中,如果我们使用“\”字符和用户,将两行或更多行代码复制并粘贴到Scala交互式shell并尝试执行它,则失败。scala交互式shell文档支持复制粘贴
如何在文档中编写scala代码,其中要运行的单个命令不适合一行文本,正确记录代码并同时支持复制/粘贴?
通常,您可以编写代码以避免换行符推断。
对于必须粘贴到一个REPL行项目:
scala> trait A ; object A
defined trait A
defined object A
scala> trait A {
| } ; object A
defined trait A
defined object A
对于必须在粘贴模式正确编译项目:
trait X {
//def f = 1
// * 2
def f =
1 * 2
def g = 1 *
2
}
对于长字符串文字,使用多和stripmargin:
def s = """
|This is a long
| string.
""".stripMargin.lines.mkString.trim
对于不喜欢长线的人来说,这是一个普遍问题。
那么,另一方面,简单的解决方案是使用scala REPL的粘贴模式。
只需输入:paste
即可进入粘贴模式,然后输入ctrl+D
即可将其结束。