从 Scala 2.10 开始,字符串插值在 Scala 中可用
这是基本示例
val name = "World" //> name : String = World
val message = s"Hello $name" //> message : String = Hello World
我想知道是否有办法进行动态插值,例如以下(不编译,仅用于说明目的)
val name = "World" //> name : String = World
val template = "Hello $name" //> template : String = Hello $name
//just for illustration:
val message = s(template) //> doesn't compile (not found: value s)
有没有办法“动态”评估这样的字符串?(或者它本质上是错误的/不可能的)
究竟是
s
什么?这不是方法定义(显然它是一个方法StringContext
),而不是一个对象(如果是,它会抛出一个不同的编译错误,而不是我认为的未找到)