带引号的scala println字符串

带引号的scala println字符串,scala,Scala,如果您在控制台中打印一个字符串,您将得到不带引号的字符串,如下所示 scala> "asd" res21: String = asd 这很好,但我有一些正在打印的案例类列表,我想复制到以后粘贴到某个地方。问题是,它不会编译新复制的文件,因为缺少“ 有没有一种简单的方法可以在控制台中输出带引号的字符串 为了进一步澄清,我想做以下几点 scala> "asd" res21: String = "asd" 谢谢!试试: val x = """"asd"""" 这三个引号内插可以是您想

如果您在控制台中打印一个字符串,您将得到不带引号的字符串,如下所示

scala> "asd"
res21: String = asd
这很好,但我有一些正在打印的案例类列表,我想复制到以后粘贴到某个地方。问题是,它不会编译新复制的文件,因为缺少

有没有一种简单的方法可以在控制台中输出带引号的字符串

为了进一步澄清,我想做以下几点

scala> "asd"
res21: String = "asd"
谢谢!

试试:

val x = """"asd""""
这三个引号内插可以是您想要的(然后再添加一个引号以完成您需要的操作)。

尝试:

val x = """"asd""""

这个三引号插值可以是您想要的(然后再添加一个引号以完成需要的操作)。

您可以尝试在字符串后面添加一个空格

scala> "asd "
res11: String = "asd "

您可以尝试在字符串后面加一个空格

scala> "asd "
res11: String = "asd "

您可以在案例类中重写
toString

case class MyClass(a: String, b: String) {
  override def toString = s"MyClass(a = \"$a\", b = \"$b\")"
}

a=
b=
仅为清晰起见(如果不需要它们,您可以删除它们),但它们不会影响粘贴的代码。

您可以在case类中重写
toString

case class MyClass(a: String, b: String) {
  override def toString = s"MyClass(a = \"$a\", b = \"$b\")"
}


a=
b=
只是为了清晰起见(如果不需要它们,可以删除它们),但它们不会影响粘贴的代码。

不需要字符串插值。不过这是一个很好的技巧,我没有意识到(我不得不测试它)!在IntelliJ电子表格中不起作用,但是,不确定这是否是REPL的一个特性。事实上,经过另一次测试后,这似乎只在scala控制台(REPL)中起作用。这确实是一个不错的技巧,尽管它对case类内的字符串不起作用。请看以下内容:
case类C(s:String);println(C(“asd”))
。它将打印:
C(asd)
不需要字符串插值。这是一个很好的技巧,虽然我没有意识到(我必须测试它)!在IntelliJ电子表格中不起作用,但是,不确定这是否是REPL的一个特性。事实上,在另一次测试之后,这似乎只在scala控制台(REPL)中起作用。这确实是一个不错的技巧,尽管它对case类中的字符串不起作用。下面是:
case类C(s:String);println(C(“asd”)
。它将打印:
C(asd)
这会更改字符串的值,而不是它的打印方式。如果您对字符串添加引号没有问题,还可以对其进行转义:
val x=”\“asd\”
。这并不是我想要字符串中的引号,而是我想要的字符串,否则打印时不带引号。很抱歉误解了。基本上,您希望以某种方式覆盖
字符串
类型的
toString
方法。这会更改字符串的值,而不是它的打印方式。如果您同意在字符串中添加引号,也可以将其转义为:
val x=“\“asd\”
。这并不是我想要字符串中的引号,而是我想要的字符串,否则打印时不带引号。很抱歉误解了。您基本上希望以某种方式覆盖
字符串
类型的
toString
方法。Ammonite不使用引号。REPL Ammonite的报价有问题。REPL有一个问题,不幸的是上面的方法不起作用。有一个bug,请参见s“”“MyClass(a=\“$a\”,b=\“$b\”””,将正常工作。不幸的是,上述方法不起作用。有一个bug,请参见s“”“MyClass(a=\“$a\”,b=\“$b\””)将正常工作