+ = добавляет в стек в Scala 2.7.7;: + не похоже на работу в Scala 2.8.0 - PullRequest
0 голосов
/ 14 августа 2010

Используя 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 Ответ

1 голос
/ 14 августа 2010

:+, определенный в SeqLike, копирует стек, добавляет элемент в новый стек и возвращает его.Так что x не изменяется.

Возможно, вы хотите вместо .push() ( пример ).

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