1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
object Test {
def g(x: Boolean): Option[String] = if (x) Some("booya") else None
def f1() = {
for (x <- g(true)) yield {
g(false) match {
case Some(_) => sys.error("")
case None => 5
}
}
}
def f2() = {
for (x <- g(true) ; y <- g(true) ; z <- g(true)) yield {
for (x <- g(true) ; y <- g(true) ; z <- g(true)) yield {
g(true) map { _ =>
(null: Any) match {
case Some(x: Int) => x
case _ => 5
}
}
}
}
}
def main(args: Array[String]): Unit = {
println(f1())
println(f2())
}
}
|