scala StringContext(>2.10)

scala中StringContext支持3种插值操作:s|f|raw。分别是变量替换;字符串格式化和非转义字符。
比如:val t = s"1+1=${1+1}" // t: String = 2
val pi=3.1415926d
val s = f"$pi%2.3f" // s: String = 3.142
val x = r"a\nb" // x: String = a\nb

StringContext 还支持更高级的用法,比如可以仿照s|f|raw的实现自己实现一个隐式类,以StringContext作为参数。比如

implicit class JsonHelper(sc: StringContext) {
  def json(args: Any*) = {
    val params = sc.parts.Iterator
    val value = args.Iterator
    // ....
  }
} 

你可能感兴趣的:(scala StringContext(>2.10))