字符串插值是从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
上的一个方法),也不是一个对象(如果是对象,它会抛出不同于“未找到”的编译错误)