在这段代码中,当使用sbt 1.3.8编译时,scalaVersion := "2.12.10"
在build.sbt
中,我在.from(s)
上得到一个错误,它说:
[error] /home.../Hello.scala:37:26: value from is not a member of object scala.collection.mutable.ArrayBuffer
[error] val ab = ArrayBuffer.from(s)
^
源代码片段:
package example
import scala.collection.mutable.ArrayBuffer
object Test {
// yes this is a contrived example
def abFromStr(s:String) : ArrayBuffer[Char] = {
val ab = ArrayBuffer.from(s)
return ab
}
}
但当我这样做的时候,它是有效的:
scala> val ab = ArrayBuffer.from("test")
ab: scala.collection.mutable.ArrayBuffer[Char] = ArrayBuffer(t, e, s, t)
我的scala
REPL是2.13.1版本,所以我猜实现from
的ArrayBuffer的"伴随对象"不在2.12.10版本中,但我在文档中找不到任何东西来证实这一点。我做错了什么?
[第2天scala noob]
正如我所怀疑的,Luis Miguel Mejía Suárez在上面的评论中指出的,ArrayBuffer
上的.from
方法在2.12.10中不可用。如果文档指出函数/对象等首次出现在哪个版本,我会很高兴。