Scala REPL中当前的类是什么?

时间:2016-06-22 21:39:13

标签: scala interpreter read-eval-print-loop

您可以定义变量和方法。它们应该属于某个父类。事实上,this.getClass打印的东西。但是,这是一种渴望的东西。目前的背景是什么?如何将上下文切换到另一个对象?例如,我看到scala组合器需要每个解析器一个方法,这意味着您需要使用大型(多行)类。如何进入该对象的范围以使用命令行进行调整?

1 个答案:

答案 0 :(得分:1)

您可以在提示符处或:paste模式下输入课程。

$ scala
Welcome to Scala 2.11.8 (Java HotSpot(TM) 64-Bit Server VM, Java 1.6.0_65).
Type in expressions for evaluation. Or try :help.

scala> class C
defined class C

scala> :pa
// Entering paste mode (ctrl-D to finish)

class C {
  val c = 42
}

// Exiting paste mode, now interpreting.

defined class C

scala> 

在您的环境中设置EDITOR后,您可以修改历史记录。

在这台旧Mac上,

$ EDITOR=/Applications/TextEdit.app/Contents/MacOS/TextEdit

然后

scala> :hi
657  Future(42)
658  .value
659  class C
660  :pa
661  class C {
662    val c = 42
663  }

scala> :ed 661-