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/) –