scala - Scala从变量中插入字符串
问题描述
在这种情况下,字符串插值可以正常工作:
val name = "Bill"
val result = s"My Name is ${name}"
当我将它引入变量时,它没有得到插值:
val name = "Bill"
val greeting = "My Name is ${name}"
val result = s"${greeting}"
直接包装greeting
不是合适的解决方案,我必须像普通字符串一样处理问候语。
解决方案
Scala 中的字符串插值并不像您期望的那样组成。
对此问题进行了辩论。人们想要它,但人们并不总是得到他们想要的东西。
你可以想象编写一些协同工作的宏。一个定义了一个接受字符串的函数,另一个知道如何通过在范围内使用正确命名的值调用它来插入它。
还值得补充的是,插值不是通用的运行时模板机制。例如,您不能从表单文件中读取字符串"$greeting"
并对其运行插值替换。
推荐阅读
- javascript - 同步或延时解析 DNS 邮件验证 (JS)
- javascript - 在页面刷新时,我的应用程序给了我一个 TypeError: uid null when using firebase auth
- python-3.x - loc 方法来更新现有列一致性中的值?
- php - 当 WooCommerce 中的特定订单项元为空时发送自定义电子邮件
- c# - 运行 POST 方法 WEPAPI 时出错
- python-3.x - 从 pandas 数据框创建字典
- java - 如何检索editText值并将其添加到列表中
? - spring-webflux - 控制器是否应该将集合包装到 Flux 中?
- sql - Postgresql 在大数据集上的 OVERLAPS 性能
- spring-boot - Spring Security/Spring Data Repository - 如何保护所有方法,具体取决于主体与 user_id 列匹配?