美文网首页
scala StringContext(>2.10)

scala StringContext(>2.10)

作者: zhj_njuer | 来源:发表于2017-08-02 08:40 被阅读0次

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)

      本文链接:https://www.haomeiwen.com/subject/hoxhxxtx.html