标签: scala string-interpolation
Scala如何在f方法字符串插值上获得类型安全性。 StringContext.f方法采用Any的args。那么如何判断是否需要Int,Double等:
def f(args:Any *):String
答案 0 :(得分:4)
方法f实施为macro。
f
在编译时调用宏实现。这是source或实现。
方法f定义为def f(args: Any*): String,但宏实现可以获取实际参数类型(如args: List[Tree])和实际字符串内容。
def f(args: Any*): String
args: List[Tree]