我已经在其他答案中找到了这个,但似乎符号$
绊倒搜索引擎,并且很难找到"那是什么{{ 1}}做"。我尝试将s
放在引号中,但我想我做错了。
无论如何,我在一个类中有这个方法:
$
这里有很多混乱。
引号前的class Label(val name: String) {
override def toString = s"Label($name)"
}
是什么?根据我的理解,类s
在其构造中接收到一个字符串,因此我甚至不确定为什么需要Label
方法。
很明显,toString
是保存收到$name
标签的名称变量,但为什么是String
?我怀疑它与变量是一个字段有什么关系?本地与全球?但是在Google上寻找这个让我无处可去。有人可以破译这种方法吗?
答案 0 :(得分:5)
这称为字符串插值。
s
告诉Scala替换字符串中遇到的任何变量。
http://docs.scala-lang.org/overviews/core/string-interpolation.html
在帮助您搜索方面,我知道找出搜索这类内容的最佳方法可能很烦人。在这种情况下,如果你搜索" scala的字符串函数" Google的前两个结果为您提供了所需的答案。