В чем разница (если есть) между двумя фрагментами кода ниже?Вложенная итерация в Scala
Пример из ch7 программирования я 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)
и этот
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)
Или
for (i <- 1 to 2)
for (j <- 1 to 2)
println(i, j)
и
for (
i <- 1 to 2;
j <- 1 to 2
) println(i, j)
Я думаю, что варианты отличаются только синтаксисом. Раздел 6.19 Спецификации языка Scala (версия 2.8) определяет, как переписывать петли. http://www.scala-lang.org/sites/default/files/linuxsoft_archives/docu/files/ScalaReference.pdf#page=97 – mkneissl
Поиск вопросов о Scala и урожайности. Один из них должен точно объяснить, как 'for' работает в Scala. –