你能在 Scala 字符串插值中打印 $ 吗?

Can you print $ in Scala string interpolation?

在 Scala 中,我想使用字符串插值打印某些商品的价格。是否可以通过插值显示 $ 字符? 这有效:

scala> println(s"It only costs ${3 + 4} dollars")
It only costs 7 dollars

那么为什么这不起作用?根据 docs

,它应该仍然是 7 美元
scala> println(s"It only costs $${3 + 4}")
It only costs ${3 + 4}

您还需要第三个 $ 到实际插值。以下应该有效:

 s"It only costs $$${3 + 4} dollars"

前两个$用于输出中的$符号,第三个用于插值。这样看可能更容易:

 s"It only costs $$ ${3 + 4} dollars"