此文档页面特定于 Scala 3,并且可能涵盖 Scala 2 中不可用的新概念。除非另有说明,此页面中的所有代码示例均假定你使用的是 Scala 3。
本教程涵盖了在 Scala 3 中编写宏涉及的所有功能。
Scala 3 的元编程 API 分层设计,以逐步支持不同级别的用例。每个连续的层都会公开额外的抽象并提供更细粒度的控制。
-
作为一个起点,新的
inline
功能 允许将一些抽象(值和方法)标记为静态可约。它提供了宏和其他元编程实用程序的入口点。 -
编译时操作提供其他元编程实用程序,可以在
inline
方法中使用(例如,改进错误报告),而无需定义宏。 -
从
inline
方法开始,宏是明确操作程序的程序。
本教程使用 Scala 3.0.0-RC3 的 API。该 API 在此修订版中进行了许多小的更改。
🚧 我们仍在编写本教程。您可以帮助我们 🚧