LiveRun——让 REPL 更进一步

  • Jonathan Allen
  • 张龙

2008 年 11 月 26 日

话题:.NETIDE语言 & 开发

REPL(Read-Eval-Print-Loop)是一种有趣的编码方式。相对于先编写好所有代码,然后再运行的方式,你可以在片段(fragment)中编写代码。每个片段都建立在之前的一个片段之上,这样就无需重新设置环境了,而典型的编写—构建—运行(write-build-run)循环中每次都需要重新设置环境。对于大多数.NET 开发者来说,唯一一种真正的 REPL 式的代码就是 SQL。

当然,Visual Studio 中有 Edit-and-Continue,但其功能实在有限,同时有很多情况会导致运行时出问题,这时就需要重新构建并开始了。你不能仅仅将 REPL 添加到.NET 中就万事大吉了,因为还有很多像 REPL 这样的功能选项存在。Lucian Wischik 使用其 LiveRun 插件展示了这种情况。

LiveRun 会获得当前文本窗口中的所有代码,将其编译到一个临时目录中,然后运行它。过一会儿,它会重复该过程。在整个处理过程中它不会打断开发者的思路。

这么做有什么好处呢?主要是为了在现场观众前编写演示程序。相对于要常常停下来去运行程序的做法,通过这种方式,观众可以立刻看到改变的效果。

Lucian Wischik 在其博客上提供了LiveRun 的全部源代码

查看英文原文:LiveRun – Taking REPL One Step Sideways

.NETIDE语言 & 开发