为什么我的宏步器没有 "Next term"?

问题描述 投票:1回答:1

可能是与.NET Framework 2.0重合。DrRacket中的宏步进器

但我的问题是 "为什么我的宏步器中没有 "上一术语 "和 "下一术语 "的按钮?http:/www.ccs.neu.eduhomeryancmacro-steppermacro-stepper-Z-H-1.html#node_chap_1说。

当你的程序由多个顶层定义或表达式组成时 宏步骤还提供了 "上一术语 "和 "下一术语 "的按钮,可以在你的程序中上下移动。

在我看来,top-level的意思是 "在一个模块中",但 "多个top-level定义 "是什么意思呢,谁能给我举个例子解释一下?

是否有更多关于如何使用它的文章,是否因为那篇文章已经过时,并且在当前的数据库中没有 "上一术语 "和 "下一术语 "按钮?

DrRacket版本:7.6在windows10下。

我发现这个。

https:/github.comracketmacro-debuggerblob13ee731da98fbe14a0d486d614a5c46f26ccd933macro-debuggermacro-debuggermacro-debugger.scrbl#L258。

https:/github.comracketmacro-debuggerbmastermacro-debuggerviewstepper.rkt#L84。

但我还是不知道 "多顶层定义 "是什么意思。

我试着建立了两个文件,并建立了这样的源文件,但我还是不知道什么是 "多顶层定义"。https:/imgur.comqMfaI6thttps:/imgur.comFbHzDUl

当我开始宏步时,它就会这样显示。

https:/imgur.comFuoSvlh只有四个按钮,没有 "上一术语 "和 "下一术语",还是我误解了 "多个顶层定义"?

更新:我发现这个。

如果宏步进器显示了多个扩展,那么它还提供了 "上一术语 "和 "下一术语 "按钮来在扩展列表中上下移动。水平线将当前的扩展与其他扩展进行了划分。

macros scheme racket
1个回答
2
投票

我不知道还有没有办法使用DrRacket中的 "Macro Stepper "按钮来获得一个宏步进器的多个术语,但你也可以使用 macro-stepper-repl 来自 macro-debugger/stepper 库。

注意:在最新版本的Racket中(包括Racket 7.7)。macro-stepper-repl 经常会显示一些看起来像垃圾一样的 "术语",这些 "术语 "的开头字符是 #~ --- Racket就是这样打印 "编译后的表达式 "的。这些不应该被显示出来,但代码中有一个错误,它试图过滤掉它们。你可以使用 "Stepper "菜单中的 "Remove selected term "从宏程序中删除这些术语。

© www.soinside.com 2019 - 2024. All rights reserved.