s插值器
可以解析字符串中的变量,可以调用方法,还能进行计算。实际调用的是 StringContext 中的 s 方法。
var name = "test"
println(s"Hi $name")
println(s"Hi ${name}qq")
f插值器
它除 s 的功能外(不指定格式就和 s 一样),还能进行格式化输出,在变量后用 % 指定输出格式,格式的说明参照 Java 的 Formatter javadoc。实际调用的是 StringContext 中的 f 方法。
val height = 1.9d
val name = "James"
println(f"$name%s is $height%2.2f meters tall") // James is 1.90 meters tall
raw插值
raw 能让字符串原原本本的输出来,而不是产生控制效果。
scala> println(raw"a\nb\tc")
a\nb\tc
这跟python的r'asd\nb'很像呢,r->raw
。
附
此外还可以通过隐式类为 StringContext 类增加相应的方法。实现自己的插值器。
Related Issues not found
Please contact @stanzhai to initialize the comment