0
我有以下代码:`:load`做什么,它在Scala REPL中不做什么?
abstract class AExp {
def eval : Int = this match {
case Num(n) => n
case Add(e1, e2) => e1.eval + e2.eval
}
}
case class Num(n : Int) extends AExp
case class Add(e1 : AExp, e2 : AExp) extends AExp
case class Prd(e1 : AExp, e2 : AExp) extends AExp {
override def eval : Int = e1.eval * e2.eval
}
它工作正常的Scala 2.8 here下,但2.10下不工作时,我将其加载到REPL。我得到吨的错误:
scala> :l aexp.scala
Loading aexp.scala...
<console>:9: error: not found: value Num
case Num(n) => n
^
<console>:9: error: not found: value n
case Num(n) => n
^
<console>:10: error: not found: value Add
case Add(e1, e2) => e1.eval + e2.eval
^
<console>:10: error: not found: value e1
case Add(e1, e2) => e1.eval + e2.eval
^
<console>:7: error: not found: type AExp
case class Num(n : Int) extends AExp
^
<console>:7: error: not found: type AExp
case class Add(e1 : AExp, e2 : AExp) extends AExp
^
<console>:7: error: not found: type AExp
case class Add(e1 : AExp, e2 : AExp) extends AExp
^
<console>:7: error: not found: type AExp
case class Add(e1 : AExp, e2 : AExp) extends AExp
^
<console>:7: error: not found: type AExp
case class Prd(e1 : AExp, e2 : AExp) extends AExp {
^
<console>:7: error: not found: type AExp
case class Prd(e1 : AExp, e2 : AExp) extends AExp {
^
<console>:7: error: not found: type AExp
case class Prd(e1 : AExp, e2 : AExp) extends AExp {
^
但是,同样的代码2.10 REPL下工作正常:paste
模式。这里发生了什么? :load
做什么,它不做什么?
哦,我的。这不应该在':help'中明确记录吗?非常感谢。拯救了我的噩梦。 – day
@plmday我不能说这个答案是否说:在2.11中,:paste文件做你想要的。 :help说:':粘贴[-raw] [path]进入粘贴模式或粘贴文件'。 –
@ som-snytt yep,[其他更改有增强功能:粘贴模式](http://docs.scala-lang.org/scala/2.11/) –