Почему `ArrayBuffer.from (" string ")` не работает в этом случае - PullRequest
0 голосов
/ 04 марта 2020

В этом коде при компиляции с 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, поэтому я предполагаю, что "объект-компаньон" для ArrayBuffer который реализует from отсутствует в версии 2.12.10 - но я не могу найти ничего, чтобы подтвердить это в документации. Что я делаю не так?

[ 2-й день scala noob ]

1 Ответ

0 голосов
/ 04 марта 2020

Как я и подозревал, и Луис Мигель Мехия Суарес указал в комментарии выше, метод .from для ArrayBuffer недоступен в 2.12.10. Было бы неплохо, если бы в документах указывалось, в какой версии функция / объект / et c. впервые появился.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...