2010-08-14 29 views
0

工作使用Scala的2.7.7,这个工程预期:+:+ =在Scala 2.7.7中添加堆栈; :+似乎没有在斯卡拉2.8.0

import scala.collection.mutable.Stack 
... 
var x = new Stack[String] 
x += "Hello" 
println(x.top) 

切换到斯卡拉2.8.0后,+ =应被取代。但是,这不会附加到堆栈:java.util.NoSuchElementException:空列表的头部。

我可以忽略一些基本的东西吗?

回答

1

:+,在SeqLike中定义,复制堆栈并将元素追加到新堆栈中,然后返回该堆栈。因此x未被修改。

也许你想.push()改为(example)。

var x = new Stack[String] 
x.push("Hello") 
println(x.top) 
+0

谢谢!解决了它。 – Villadsen 2010-08-14 08:41:28