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
    // ....
  }
} 
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 在挖掘分析的过程当中对字符串的处理是极为重要的,且出现也较为频繁,R语言作为当前最为流行的开源数据分析和可视化平台...
    果果哥哥BBQ阅读 11,208评论 0 8
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 11,868评论 0 17
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,073评论 19 139
  • 思维不是与生俱来的东西,它可以被训练和改变。培根在《论读书》里提到:“读史使人明智,读诗使人灵秀,数学使人周密,科...
    llccgao阅读 3,858评论 0 0
  • 春节过后,又到了每年的跳槽高峰期。每一名劳动者都享有自行选择职业的权利,可以根据自己的意愿跳槽。但跳槽也应该遵守法...
    潇湘法苑阅读 1,531评论 0 0

友情链接更多精彩内容