tengo el siguiente código:asignar múltiples variables a la vez en Scala
val text = "some text goes here"
val (first, rest) = text.splitAt(4)
println(first + " *" + rest)
que funciona bien.
Sin embargo, yo quiero tener dos casos, la definición de "primera" y "descanso" fuera, así:
val text = "some text goes here"
var (first, rest) = ("", "")
if (text.contains("z")) {
(first, rest) = text.splitAt(4)
} else {
(first, rest) = text.splitAt(7)
}
println(first + " *" + rest)
Pero eso me da un error:
scala> | <console>:2: error: ';' expected but '=' found.
(first, rest) = text.splitAt(4)
¿Por qué es un error a hacer (primero, descansar) = text.splitAt (4) pero no hacer val (first, rest) = text.splitAt (4)? ¿Y que puedo hacer?
Editar: No se puede volver a asignar val, se cambió a var. Mismo error
de Interés, al escribir en 2.9.1 de final de texto REPL 'splitAt 4 'segunda cadena se imprime con comillas redundantes' (algunos, "el texto va aquí") '. ¿Es un error conocido? – 4e6
¡Oh, no es un error, es una característica! La cadena se imprime con comillas adicionales cuando comienza o termina con espacios en blanco. Me encanta Scala :) – 4e6