【问题标题】:What is a "REPL" in javascript? [closed]什么是 JavaScript 中的“REPL”? [关闭]
【发布时间】:2012-11-16 04:23:35
【问题描述】:

我看到了有关创建“REPL”的参考。什么是 REPL?

var arDrone = require('ar-drone');
var client  = arDrone.createClient();
client.createRepl();

【问题讨论】:

  • 打开Chrome的开发者控制台,执行var x = 'hi';之类的语句,然后输入x,控制台返回'hi',这是一个REPL!
  • 避免鼓励使用 REPL 的建议。它代表 Real Evil Programming Language 和 Typescript is the most evil of all
  • 只有 LISP 语言 真正 有 REPL 存在一些争论,尽管许多人会对此表示不同意见。例如:stackoverflow.com/questions/5671214/…

标签: javascript node.js read-eval-print-loop


【解决方案1】:

Stack Overflow 上 标记中的好信息:

关于读取评估打印循环

Read-Eval-Print Loop (REPL) 是一种编程语言的交互式解释器。它起源于 LISP 系统,但许多其他语言(Python、Ruby、Haskell、Tcl 等)使用 REPL 来管理交互式会话。它们允许通过绕过“代码 -> 编译 -> 执行”循环的编译阶段来对一种语言进行简单的实验。

REPL 有 4 个组件(以 LISP 表示法命名):

  • 一个读取函数,从键盘读取输入
  • 一个 eval 函数,用于评估传递给它的代码
  • 打印功能,用于格式化和显示结果
  • 一个循环函数,运行前三个命令直到终止

【讨论】:

  • 太好了。感谢您将其变成真实的答案!
  • 我可以说 XCode Playground 应用程序是一个 REPL 吗?或者 Visual Studio 中的 C# Interactive - 是 REPL 吗?
【解决方案2】:

Google 的第一个热门搜索为您提供了 Wikipedia 上的定义:REPL 代表 read–eval–print loop

读取-评估-打印循环 (REPL) 是一种简单的交互式计算机编程环境。

简而言之,它会启动一个交互式控制台,您可以在其中输入命令并立即查看这些命令的结果。

【讨论】:

  • 另外,from the documentation of the library: client.createREPL() 启动一个交互式界面,其中包含活动范围内可用的所有客户端方法。此外,客户端解析为客户端实例本身。
  • 我也很惊讶,这个问题得到了两次反对。一定有人不太喜欢 REPL!
【解决方案3】:

如果语言支持,REPL 是一种交互的代码或命令执行方式。

ftp://ftp.cs.utexas.edu/pub/garbage/cs345/schintro-v14/schintro_114.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-08
    • 2017-02-17
    • 1970-01-01
    • 1970-01-01
    • 2021-12-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多