Quizás estoy ladrando en el árbol equivocado (nuevamente) pero si es una práctica normal tener una propiedad escrita como scala.collection.immutable.Set[A]
, ¿cómo crearías una de estas dado un scala.Iterable[A]
? Por ejemplo:Scala ¿Tengo que convertir a un Seq al crear una colección de un iterable?
class ScalaClass {
private var s: scala.collection.immutable.Set[String]
def init(): Unit = {
val i = new scala.collection.mutable.HashSet[String]
//ADD SOME STUFF TO i
s = scala.collection.immutable.Set(i) //DOESN'T WORK
s = scala.collection.immutable.Set(i toSeq : _ *) //THIS WORKS
}
}
Puede alguien explicar por qué es necesario para crear el conjunto inmutable a través de un Seq
(o si no lo es, y luego hacer como lo hago)?
Lo siento, yo realmente no entiendo su punto. Mi pregunta era por qué no era más fácil convertir de una Colección Iterable a una Inmutable (excepto a través de una Seq). Obviamente me has dado una colección de solo lectura; no es inmutable –
Sí, es de solo lectura ... ¿No es un sinónimo de inmutable? Quizás no siempre ... ¿pero en este caso? ¿Conoces una forma de mutar esta colección? Esta es la única interfaz y solo de lectura. No hay forma de que alguna vez cambie. –