Scala REPL

Scala REPL

Scala REPL是一个交互式的 命令行解释器外壳 ,其中REPL代表Read-Evaluate-Print-Loop。它的工作原理就像它所代表的那样。它首先读取Scala命令行上提供的表达式,然后评估给定的表达式,并将表达式的结果打印在屏幕上,然后再次准备读取,这件事会循环进行。在当前表达式的范围内,根据需要,以前的结果会自动导入。REPL在交互式模式下在提示符下读取表达式,然后将它们包装成可执行模板,之后编译并执行结果。

REPL的实现

  • 用户代码可以包装一个对象或一个类,使用的开关是 -Yrepl-class-based。
  • 每一行的输入都是单独编译的。
  • 前面几行的依赖关系是通过自动生成的导入包含的。
  • scala.Predef 的隐式导入可以通过输入显式导入来控制。

我们可以通过在控制台/终端输入 scala 命令来启动Scala REPL。

$scala

Scala  REPL
让我们了解一下如何使用Scala REPL添加两个变量。
Scala  REPL
在第一行,我们在Scala REPL中初始化了两个变量。然后Scala REPL打印了这些变量。在这里我们可以看到,它在内部创建了两个带值的Int类型的变量。然后我们用定义好的两个变量执行了sum的表达式,Scala REPL再次在屏幕上打印了表达式的总和。在这里,它没有任何变量,所以它只用它的临时变量显示,前缀为 res。 我们可以使用这些变量,就像我们创建它一样。

我们可以通过对这些变量调用 getClass 函数来获得这些临时变量的更多信息,如下图所示。

Scala  REPL

我们可以通过scala REPL在运行时做很多类似的实验,如果我们使用一些IDE,就会很费时间。在scala2.0中,我们还可以通过按TAB键列出所有可以应用于变量的函数建议。

Scala  REPL

REPL的一些更重要的功能

  • REPL的IMain被绑定到 $intp。
  • Tab 键用于完成。
  • lastException 绑定 REPL 的最后一个异常。
  • :load 用来加载 REPL 输入文件。
  • :javap 用于检查类工件。
  • -Yrepl-outdir 用于用外部工具检查类工件。
  • :power 在进入编译器模式后导入编译器组件。
  • : help 用来获取帮助用户的命令列表。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程