在大多数编程语言(如Java或Python)中,我们在一行的末尾使用“\”字符来表示下一行文档中的代码是应该作为单行执行的内容的延续。码。但是,在Scala中,如果我们使用“\”字符,并且用户将两行或多行代码复制并粘贴到Scala交互式shell中并尝试执行它,则会失败。
如何在文档中编写scala代码,其中单个命令运行不适合一行文本,正确记录代码并同时支持复制/粘贴?
答案 0 :(得分:1)
另一方面,简单的解决方案是使用scala REPL的粘贴模式。
只需输入:paste
即可进入粘贴模式,输入ctrl+D
即可结束。
答案 1 :(得分:0)
通常,您可以编写代码以避免换行推断。
对于必须粘贴到一个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
}
对于长字符串文字,请使用multiline和stripmargin:
def s = """
|This is a long
| string.
""".stripMargin.lines.mkString.trim
对于不喜欢长队的人来说,这是一个普遍的问题。