4

根据“Scala编程”一书的第44页,数据结构存在一个remove函数。list但是,当我在解释器中尝试该示例时,我不断收到错误消息。有谁知道为什么?这是一个示例

scala> val x = List(1,2,3,4,5,6,7,8,9)
x: List[Int] = List(1, 2, 3, 4, 5, 6, 7, 8, 9)

scala> x.remove(_ < 5)
<console>:9: error: value remove is not a member of List[Int]
              x.remove(_ < 5)
                ^

scala> x.remove(s => s == 5)
<console>:9: error: value remove is not a member of List[Int]
              x.remove(s => s == 5)
                ^

scala> val y = List("apple","Oranges","pine","sol")
y: List[String] = List(apple, Oranges, pine, sol)

scala> y.remove(s => s.length ==4)
<console>:9: error: value remove is not a member of List[String]
              y.remove(s => s.length ==4)
4

2 回答 2

10

List在早期版本中有一个 remove 方法,但在 2.8 中已弃用并在 2.9 中删除。改为使用filterNot

于 2013-02-18T23:41:03.767 回答
4

ListBuffer有一个 remove 方法,但没有List有关如何以惯用方式从不可变列表中删除的信息,请参见此处(显然是创建一个新列表!)

于 2013-02-18T23:39:51.927 回答