Scala如何在f String Interpolation上获得类型安全性

时间:2013-10-03 10:58:41

标签: scala string-interpolation

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

def f(args:Any *):String

1 个答案:

答案 0 :(得分:4)

方法f实施为macro

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

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