http://en.wikipedia.org/wiki/REPL Read-eval-print_loop
Delphi有这样的事吗? 在处理几乎没有记录的边界情况时,探索诸如Windows APi之类的DLL并绘制其用法是非常有用的。
我尝试过pascal脚本,例如Cnwizards中的脚本,但它不太舒服。 例如,它不能使用像Windows.pas这样的单元,你必须自己制作一些奇怪的存根。
无论如何,这些脚本不像“试试这个尝试”场景那样容易使用,而不是Repl。
对于Delphi对象,大多数事情是它在断点上暂停并使用Evaluate / Modify窗口,但它只适用于Delphi对象,而不是DLL;它不能使临时变量缓存值等。
答案 0 :(得分:3)
这并不是你想要的,因为Delphi是一种静态类型的编译语言,但是如果你真的坚持能够输入一些pascal并查看它是否有效,你可以尝试{{1 Jedi VCL中的组件。
请注意,体验与使用python完全不同。您不能只键入“使用模块”并按Enter键,因为pascal单元必须在JvInterpreter甚至可以解释之前完成,并且JvInterpreter需要您为要导入的每个其他单元编写包装器。你会发疯的我并不认真建议任何人尝试围绕TJvInterpreter
建立一个REPL。
Delphi的“交互式魔术”元素被称为“设计时环境”以及我们使用“组件”构建的方式。我们甚至没有通过编写代码来做那么多,我们用鼠标和键盘直观地完成所有操作。它被称为RAD(快速应用程序开发),由Delphi中的VCL(可视化组件库)提供支持,(如REPL)是进行快速开发的众多方法之一。
我们拥有的另一件事就像REPL一样是Delphi中的这个按钮:
在创建新的空项目后单击它,并且您在新的空项目中添加的任何代码都会在不到一秒的时间内构建并运行。对我来说足够接近REPL。它有点像二进制可执行即时幸福。
写一行。构建并运行(1秒)。瞬间。