Почему это не будет компилироваться
for {
s <- List.empty[String]
regex <- List.empty[scala.util.matching.Regex]
regex(ss) = s
if ss == "foo"
} yield s
Но удаление if
for {
s <- List.empty[String]
regex <- List.empty[scala.util.matching.Regex]
regex(ss) = s
} yield s
или переупорядочить порядок двух списков в понимании
for {
regex <- List.empty[scala.util.matching.Regex]
s <- List.empty[String]
regex(ss) = s
if ss == "foo"
} yield s
компилирует?
Scalafiddle: http://scalafiddle.net/console/2519ff98d434cb522589f54a9c5fcf55