Scala 如何在 f 字符串插值中获得类型安全



Scala如何在f方法字符串插值上获得类型安全。StringContext.f 方法采用 Any 的参数。那么它如何能够判断是否需要 Int、Double 等:

def f(args: Any*): 字符串

方法 f 作为宏实现。

在编译时调用宏实现。这是源或实现。

方法f被定义为def f(args: Any*): String,但宏实现可以得到实际的参数类型(如args: List[Tree])和实际的字符串内容。

最新更新