斯卡拉 | REPL
Scala REPL 是一个交互式命令行解释器 shell ,其中 REPL 代表Read-Evaluate-Print-Loop 。它的工作原理就像它只代表一样。它首先读取在 Scala 命令行上作为输入提供的表达式,然后在屏幕上评估给定的表达式和打印表达式的结果,然后它再次准备好读取并且这个东西进入循环。根据需要在当前表达式的范围内,自动导入以前的结果。 REPL 在提示符下以交互模式读取表达式,然后将它们包装到可执行模板中,然后编译并执行结果。
- 对象或类都可以由用户代码包装,使用的开关是基于 -Yrepl-class 的。
- 每一行输入都是单独编译的。
- 前几行的依赖项包含在自动生成的导入中。
- scala.Predef的隐式导入可以通过输入显式导入来控制。
我们可以通过在控制台/终端中输入scala命令来启动 Scala REPL。
$scala
让我们了解如何使用 Scala REPL 添加两个变量。
在第一行中,我们在 Scala REPL 中初始化了两个变量。然后 Scala REPL 打印了这些。在此我们可以看到,它在内部创建了两个 Int 类型的变量和值。然后我们用定义的两个变量执行 sum 的表达式。用这个 Scala REPL 再次在屏幕上打印表达式的总和。在这里它没有任何变量,因此它仅以res前缀显示它的临时变量。我们可以像创建它一样使用这些变量。
我们可以通过在这些变量上调用getClass函数来获取这些临时变量的更多信息,如下所示。
我们可以在运行时使用 scala REPL 做很多这样的实验,如果我们使用一些 IDE,这将非常耗时。使用 scala2.0,我们还可以通过按 TAB 键列出我们可以应用于变量的所有函数建议。
- REPL 的 IMain 绑定到$intp 。
- tab键用于补全。
- lastException绑定 REPL 的最后一个异常。
- :load用于加载 REPL 输入文件。
- :javap用于检查类工件。
- -Yrepl-outdir用于使用外部工具检查类工件。
- :power在进入编译器模式后导入编译器组件。
- :help用于获取帮助用户的命令列表。