从 scala 2.10 开始,可以进行以下插值。
val name = "someName"
val interpolated = s"Hello world, my name is $name"
现在也可以定义自定义字符串插值,您可以在http://docs.scala-lang.org/overviews/core/string-interpolation.html#advanced_usage的“高级用法”部分的 scala 文档中看到
那么,我的问题是......有没有办法在插值之前从定义字符串新插值的隐式类内部获取原始字符串,包括任何插值变量名称?
换句话说,我希望能够定义一个插值 x,这样当我调用
x"My interpolated string has a $name"
我可以完全如上所示获得字符串,而无需在插值内替换 $name 部分。
编辑:快速说明,我想这样做的原因是因为我想获取原始字符串并将其替换为另一个字符串,一个国际化字符串,然后替换变量值。这是我想获得原始字符串而不对其执行插值的主要原因。
提前致谢。