如何查看Racket标准库中某个方法的源码?

How to view the source code of a method in a standard library of Racket?

例如canvas%上有一个on-char method on the editor-canvas% class in racket/gui/base. It handles the 'wheel-up and 'wheel-down events and passes other events to the on-char方法。

我想查看源代码,看看它是如何做到的。

我希望有一些像Ruby API documentation这样的工具,但现在我连racket/gui/base的源代码在哪里都不知道

在 DrRacket IDE 中,您可以将鼠标悬停在每个导入的符号上并单击鼠标右键。在菜单中有 "Open defining file"。单击此按钮后,再次右键单击同一符号,然后查看上次单击的位置,您会看到它显示 "Jump to definition (in other file)".

请注意,在同一菜单中,您还有 "View documentation for symbol from packet" 可以打开带有文档的浏览器。

在 DrRacket 中单击 "Check Syntax" 按钮(带有蓝色复选标记和放大镜的按钮)。然后右键单击有问题的标识符(此处为 on-char)并选择菜单项 "Open Defining File"。这将打开定义了 on-char 的文件。