Delphi IDE 的 REPL?

Ari*_*The 5 delphi delphi-xe2 read-eval-print-loop

http://en.wikipedia.org/wiki/REPL读取\xe2\x80\x93eval\xe2\x80\x93print_loop

\n\n

Delphi 有这样的东西吗?\n在处理几乎没有记录的边界情况时,探索 DLL(例如 Windows APi)并概述它们的用法将非常有用。

\n\n

我尝试过 pascal 脚本,例如 Cnwizards 中的脚本,但它不太舒服。\n例如,它不能使用像 Windows.pas 这样的单位,你必须为它制作一些你自己的奇怪的存根。

\n\n

无论如何,这些脚本在“尝试这个尝试那个”场景中不如 Repl 那么容易使用。

\n\n

对于 Delphi 对象,大多数情况下它会在断点处暂停并使用评估/修改窗口,但它仅适用于 Delphi 对象,不适用于 DLL;它不能创建临时变量来缓存值等。

\n

War*_* P 3

这并不是您真正想要的,因为 Delphi 是一种静态类型的编译语言,但如果您确实坚持能够输入一些 pascal 并查看它是否执行任何操作,您可以尝试TJvInterpreterJedi 中的组件VCL。

请注意,这种体验与使用 python 完全不同。您不能只输入“uses module”并按 Enter 键,因为 pascal 单元必须完整才能被 JvInterpreter 解释,并且 JvInterpreter 需要您为要导入的每个其他单元编写一个包装器。你会发疯的。我并不是认真建议任何人尝试围绕TJvInterpreter.

Delphi 的“交互魔法”元素被称为“设计时环境”以及我们使用“组件”构建的方式。我们甚至不通过编写太多代码来做到这一点,我们用鼠标和键盘直观地完成这一切。它称为 RAD(快速应用程序开发),由 Delphi 中的 VCL(可视化组件库)提供支持,并且(与 REPL 一样)是进行快速开发的众多方法之一。

我们拥有的另一件很像 REPL 的东西是 Delphi 中的这个按钮:

在此输入图像描述

创建新的空项目后单击它,添加到新的空项目中的任何代码都会在不到一秒的时间内构建并运行。对我来说已经足够接近 REPL 了。这有点像二进制可执行文件的即时幸福。

写一行。构建并运行(1 秒)。立即的。

  • 代码洞察力?你拉我的腿!IDE 嵌入式基于 J# 的 pascal 解析器不完整并且与主编译器不同步。当库文件同时位于项目和 IDE 的搜索和浏览路径中时,它无法找到库文件。它无法解析语言结构并将所有其余单元声明为错误。有报告称,大量使用泛型时 IDE 会立即崩溃。所以,是的,代码洞察的可靠性有限。但即使对于完美描述的功能,它也并不总是有效,更不用说那些几乎没有描述的需要反复试验的功能了 (3认同)