http://en.wikipedia.org/wiki/REPL读取-评估-打印循环
Delphi 有这样的东西吗? 在处理几乎没有记录的边界情况时,探索 Windows APi 等 DLL 并概述它们的用法将非常有用。
我尝试过 pascal 脚本,例如 Cnwizards 中的脚本,但它不太舒服。 例如,它不能使用像 Windows.pas 这样的单位,你必须为它制作一些你自己的奇怪的 stub 。
无论如何,这些脚本比 Repl 更不容易用于“尝试这个尝试那个”场景。
对于 Delphi 对象,大多数人都会在断点处暂停并使用评估/修改窗口,但它仅适用于 Delphi 对象,不适用于 DLL;它不能创建临时变量来缓存值等。
最佳答案
这并不是您真正想要的,因为 Delphi 是一种静态类型的编译语言,但如果您确实坚持能够输入一些 pascal 并查看它是否执行任何操作,您可以尝试 Jedi VCL 中的 TJvInterpreter
组件。
请注意,这种体验与使用 python 完全不同。您不能只输入“uses module”并按回车键,因为 pascal 单元必须完整才能被 JvInterpreter 解释,并且 JvInterpreter 需要您为要导入的每个其他单元编写一个包装器。你会发疯的。我并不是认真建议任何人尝试围绕 TJvInterpreter
构建 REPL。
Delphi 的“交互魔法”元素被称为“设计时环境”以及我们使用“组件”构建的方式。我们甚至不通过编写太多代码来做到这一点,我们用鼠标和键盘直观地完成这一切。它称为 RAD(快速应用程序开发),由 Delphi 中的 VCL(可视化组件库)提供支持,并且(与 REPL 一样)是进行快速开发的众多方法之一。
我们拥有的另一件很像 REPL 的东西是 Delphi 中的这个按钮:
在创建新的空项目后单击它,您添加到新的空项目中的任何代码都会在不到一秒的时间内构建并运行。对我来说已经足够接近 REPL 了。这有点像二进制可执行文件的即时幸福。
写一行。构建并运行(1 秒)。即时。
关于delphi - Delphi IDE 的 REPL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11795106/