在字符串文字中使用表达式
你可以使用花括号将表达式插入到字符串文字中:
def f(x: String) = x + x
val a = "A"
s"${a}" // "A"
s"${f(a)}" // "AA"
没有大括号,scala 只会在 $
之后插入标识符 (在本例中为 f
)。由于没有从 f
到 String
的隐式转换,因此在此示例中是一个例外:
s"$f(a)" // compile-time error (missing argument list for method f)