首页 > 解决方案 > “$”的scala字符串插值

问题描述

为什么'$'的值名称时字符串插值不起作用?

在下面的代码中,为什么没有打印 $ 的值?使用字符串插值打印 x 的值时会出现什么错误?

repl> val x="test value"
repl> val $="some value"
repl> println($)
some value
repl> println(s"value:$x")
value:test value
repl> println(s"value:$$")
value:$

为什么 $ 没有被它的价值取代?

标签: scalastring-interpolationscala-repl

解决方案


要实际打印由 表示的变量的值$,应将其括在大括号中:

println(s"value:${$}")

输出:

value:some value

将符号加倍$不起作用,因为它用于转义 $ 本身,如此所述。


推荐阅读