+ =在Scala 2.7.7中附加到堆栈; :+似乎不适用于Scala 2.8.0

时间:2010-08-14 08:01:38

标签: collections stack scala-2.8 mutable

使用Scala 2.7.7,这可以按预期工作:

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

更改为Scala 2.8.0后,+ =应替换为:+。但是,这不会附加到堆栈:java.util.NoSuchElementException:空列表的头部。

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

1 个答案:

答案 0 :(得分:1)

在SeqLike中定义的

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

您可能需要.push()代替example)。

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