The second example is interpreted as:
for(i <- 1 to 10) yield { i match {case x => x.head} }
An example for for syntax is as follows:
for (Enumerators) yield Expr
i match { case x => x.head } ( ), . , Expr , . :
for(i <- 1 to 10) yield for(j <- 1 to 2) yield (i, j)
for(i <- 1 to 10) yield if (i % 2 == 0) 'a' else 'b'
for(i <- 1 to 10) yield try { 1 / (i - 5) } catch { case _ => }
for(i <- 1 to 10) yield { for(j <- 1 to 2) yield (i, j) }
for(i <- 1 to 10) yield { if (i % 2 == 0) 'a' else 'b' }
for(i <- 1 to 10) yield { try { 1 / (i - 5) } catch { case _ => } }
: Scala ( ). . 161 A (Scala ).