有没有办法在 DrRacket 中对文件使用加载模式?
Is there a way to use load-mode for files in DrRacket?
我想像使用某些“遗留语言”一样使用 DrRacket。特别是,我想通过一个文件,就好像它是向解释器发出的一系列命令,而不是作为一个模块。
基本上我想 运行 至少一个文件处于加载模式,但我不确定是否可以使用 DrRacket 来做到这一点。
理想情况下,我可以:
*指定一个文件来设置语言并可能加载一些模块,这些模块在启动时默认为 运行s。
*然后加载一个不是模块的文件(并且没有#lang 规范)并 运行 它。
如果它允许重新定义,就像遗留语言一样,那也很好(因为我想使用 Scheme)。
是的,你可以,事实上,'legacy languages'(和 'teaching languages')实际上只是作为 DrRacket Plugins 实现的。您可以从您的 DrRacket 副本中删除它们,甚至可以添加新的。
有多种方法可以执行此操作,具体取决于您是否同意将 #lang
(或 #reader
)保存在文件中。如果你不是,它仍然可行,你只需要使用 drracket:get/extend:extend-unit-frame
to add your tool to DrRacket, and possibly drracket:get/extend:extend-definitions-text
轻松扩展定义 window.
我不会在这里详细介绍制作通用 DrRacket 插件的细节,这属于不同的问题...DrRacket Plugins Manual 也有您需要的信息。1 但是,我会指导您如何在开箱即用的加载模式下使用 DrRacket。
查看 racket/load
语言。它被设计为 运行 顶层的每个表达式,就像您在 REPL 中键入它一样。我发现它对于测试 Racket 模块和顶级交互之间的差异非常有用。
当然,如果你不做DrRacket插件,你还是需要放:
#lang racket/load
在你的文件的顶部,否则你会得到一个开箱即用的 'legacy mode'。
1如果没有,请继续提问,当然,我们总是喜欢任何愿意贡献的人的帮助。 <3
我想像使用某些“遗留语言”一样使用 DrRacket。特别是,我想通过一个文件,就好像它是向解释器发出的一系列命令,而不是作为一个模块。
基本上我想 运行 至少一个文件处于加载模式,但我不确定是否可以使用 DrRacket 来做到这一点。
理想情况下,我可以:
*指定一个文件来设置语言并可能加载一些模块,这些模块在启动时默认为 运行s。
*然后加载一个不是模块的文件(并且没有#lang 规范)并 运行 它。
如果它允许重新定义,就像遗留语言一样,那也很好(因为我想使用 Scheme)。
是的,你可以,事实上,'legacy languages'(和 'teaching languages')实际上只是作为 DrRacket Plugins 实现的。您可以从您的 DrRacket 副本中删除它们,甚至可以添加新的。
有多种方法可以执行此操作,具体取决于您是否同意将 #lang
(或 #reader
)保存在文件中。如果你不是,它仍然可行,你只需要使用 drracket:get/extend:extend-unit-frame
to add your tool to DrRacket, and possibly drracket:get/extend:extend-definitions-text
轻松扩展定义 window.
我不会在这里详细介绍制作通用 DrRacket 插件的细节,这属于不同的问题...DrRacket Plugins Manual 也有您需要的信息。1 但是,我会指导您如何在开箱即用的加载模式下使用 DrRacket。
查看 racket/load
语言。它被设计为 运行 顶层的每个表达式,就像您在 REPL 中键入它一样。我发现它对于测试 Racket 模块和顶级交互之间的差异非常有用。
当然,如果你不做DrRacket插件,你还是需要放:
#lang racket/load
在你的文件的顶部,否则你会得到一个开箱即用的 'legacy mode'。
1如果没有,请继续提问,当然,我们总是喜欢任何愿意贡献的人的帮助。 <3