+= 在 Scala 2.7.7 中追加到堆栈; :+似乎在 Scala 2.8.0 中不起作用
使用 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:空列表的头。
我是否忽略了一些基本的东西?
Using Scala 2.7.7, this works as expected:
import scala.collection.mutable.Stack
...
var x = new Stack[String]
x += "Hello"
println(x.top)
After changing to Scala 2.8.0, the += should be replaced by :+. However, this does not append to the stack: java.util.NoSuchElementException: head of empty list.
Am I overlooking something basic?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
:+
,在 SeqLike 中定义,复制堆栈并将元素追加到新堆栈中,然后返回。所以x
没有被修改。也许您需要
.push()
(示例)。:+
, defined in SeqLike, copies the stack and append the element into the new stack, and return that. Sox
is not modified.Probably you want
.push()
instead (example).