¿Cuál es la diferencia (si corresponde) entre dos fragmentos de código a continuación?iteración anidada en Scala
Ejemplo de Ch7 de Programación i Scala
def grep(pattern: String) =
for (
file <- filesHere
if file.getName.endsWith(".scala");
line <- fileLines(file)
if line.trim.matches(pattern)
) println(file + ": " + line.trim)
y éste
def grep2(pattern: String) =
for (
file <- filesHere
if file.getName.endsWith(".scala")
) for (
line <- fileLines(file)
if line.trim.matches(pattern)
) println(file + ": " + line.trim)
O
for (i <- 1 to 2)
for (j <- 1 to 2)
println(i, j)
y
for (
i <- 1 to 2;
j <- 1 to 2
) println(i, j)
Creo que las variantes se diferencian únicamente por la sintaxis. La Sección 6.19 de la Especificación del Lenguaje de Scala (v. 2.8) define cómo se reescriben los bucles for. http://www.scala-lang.org/sites/default/files/linuxsoft_archives/docu/files/ScalaReference.pdf#page=97 – mkneissl
Preguntas sobre Scala y rendimiento. Uno de ellos debería explicar exactamente cómo funciona 'for' en Scala. –