Scala 为我们提供了三种字符串插值的方式,分别是 s, f 和 raw。它们都是定义在 StringContext 中的方法。

s 字符串插值器

val a = 2
println(s"小明今年$a 岁了")

f 字符串插值器

它除 s 的功能外(不指定格式就和 s 一样),还能进行格式化输出,在变量后用 % 指定输出格式,格式的说明参照 Java 的 Formatter javadoc。实际调用的是 StringContext 中的 f 方法。

val as = Array(, )
for(i <- as.indices) println(f"第${i}个元素是${as(i)}%3d")

可以看到,数组缓冲中的值之前多了两个位置。

raw 字符串插值

raw 能让字符串原原本本的输出来,而不是产生控制效果,如对 \n ,\t 等的输出。实际调用的是 StringContext 中的 raw 方法。

println("a\tb\tc")  结果:a b c

println(raw"a\tb\tc")  结果:a\tb\tc

最新文章

  1. Mysql基础3
  2. Car---hdu5935(简单题)
  3. 在 msbuild 生成时,每次都生成很多css,js,img 文件,如果不想每次编译都有这些需要这样配置
  4. 10.31 afternoon
  5. Swift中构造器的继承和重写
  6. AES 加密与解密
  7. 个人认为一个比较完整,基于tp5平台,可快速开发的B2C平台
  8. 立一个Flag吧
  9. ztree实现中国省市区树形,可多选
  10. JAVA微信支付代码(WeChatPay.java 才是调用类)
  11. 破解WEP工具wesside-ng
  12. python 模块会导入几次?猴子补丁为什么可以实现?
  13. VS2013 未找到与约束。。。
  14. Process对象的其他属性:
  15. Ubuntu16.04 安装JDK Tomcat
  16. .net core webapi 使用过滤器。
  17. RDS for MySQL 如何使用 Percona Toolkit
  18. java自带的MD5
  19. 浅谈Eclipse调用Tomcat服务的原理
  20. LeetCode11.盛最多水的容器 JavaScript

热门文章

  1. myeclipse启动jboss报ERROR [MainDeployer] Could not create deployment
  2. 解决编译GCC内存不足的错误
  3. @Value取值为NULL的解决方案
  4. Activiti流程实例管理
  5. oracle中准确控制job的下次运行时间(next date)
  6. Istio流量管理实践之(3): 基于Istio实现流量对比分析
  7. Redis开发及管理实战
  8. 位操作(求[a, b] 中二进制位为1的个数最多的数)
  9. python 日记 day5 字典
  10. SAS信用评分之逻辑回归的变量选择