Cómo anexar o anteponer en un Scala mutable.Seq
sequence scala-collections (1)
Hay algo que no entiendo sobre la collection.mutable.Seq
de Scala. Describe la interfaz para todas las secuencias mutables, pero no veo métodos para agregar o anteponer elementos sin crear una nueva secuencia. ¿Me estoy perdiendo algo obvio aquí?
Hay :+
y +:
para añadir y anteponer, respectivamente, pero crean nuevas colecciones, para ser coherentes con el comportamiento de las secuencias inmutables, supongo. Esto está bien, pero ¿por qué no hay un método como +=
y +=:
como ArrayBuffer
y ListBuffer
, para ArrayBuffer
y ListBuffer
in situ? ¿Significa que no puedo referirme a un seq mutable que está escrito como collection.mutable.Seq
si quiero hacer un apéndice in situ?
De nuevo, debo haberme perdido algo obvio, pero no puedo encontrar qué ...
La mutación para las secuencias solo garantiza que podrá cambiar los elementos por otros diferentes (mediante el método de update
), como puede hacerlo con, por ejemplo, matrices primitivas. No garantiza que pueda hacer que la secuencia sea más grande (para eso es el rasgo de Growable
) o más pequeña ( Shrinkable
).
Buffer
es el rasgo abstracto que contiene Growable
y Growable
, no Seq
.