gpt4 book ai didi

scala - 如何在 Scala 中打印扩展宏?

转载 作者:行者123 更新时间:2023-12-02 04:52:39 24 4
gpt4 key购买 nike

我正在 Scala 中编写一个宏,但是当我调用它时,我收到一条错误消息,指出“Double 不接受参数”。显然,宏构建 AST 的方式有问题。那么如何才能看到扩展后的宏呢?有没有办法在运行时调用宏实现?

最佳答案

向编译器提供-Ymacro-debug-lite-Ymacro-debug-verbose选项。

在我的脑海中,打印 AST 的详细化是由 -Yshow-trees-compact-Yshow-trees-stringified-Xprint 控制的-types-uniqid-Yshow-symkinds。您可以通过运行 scala -Xscala -Y (或在 https://github.com/scala/scala/blob/2.10.x/src/compiler/scala/tools/nsc/settings/ScalaSettings.scala 检查 scala 设置的来源)来找到其他 gem。

此外,尽管本质上是一个宏,具体化具有自己的跟踪机制,可以通过 -Yreify-copypaste-Yreify-debug 进行配置。

关于scala - 如何在 Scala 中打印扩展宏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11677609/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com