【问题标题】:+= appends to stack in Scala 2.7.7; :+ does not seem to work in Scala 2.8.0+= 附加到 Scala 2.7.7 中的堆栈; :+ 在 Scala 2.8.0 中似乎不起作用
【发布时间】:2010-08-14 08:01:38
【问题描述】:

使用 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: head of empty list。

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

【问题讨论】:

    标签: collections stack scala-2.8 mutable


    【解决方案1】:

    :+,在 SeqLike 中定义,复制堆栈并将元素附加到新堆栈中,然后返回。所以x 没有被修改。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-03
      • 1970-01-01
      • 2014-04-30
      相关资源
      最近更新 更多