Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
Scala 如何在 f 方法字符串插值上获得类型安全。StringContext.f 方法采用 Any 参数。那么它如何判断是否需要 Int、Double 等:
def f(args: Any*): 字符串
方法f被实现为宏。
f
在编译时调用宏实现。这是源代码或实现。
方法f定义为def f(args: Any*): String,但宏实现可以获取实际参数类型(as args: List[Tree])和实际字符串内容。
def f(args: Any*): String
args: List[Tree]