For-Comprehensions
Nested For
Combine two lists with two generators.
nested-for
Two generators in one `for` pair every element of the first with every element of the second, yielding one result per combination.
Nested For
NestedFor.scala
Replay: real traced execution (multi-file project)
object Main {
def main(args: Array[String]): Unit = {
val base = 10
val sums = for (a <- List(1, 2); b <- List(3, 4)) yield base + a + b
val text = sums.mkString(",")
println("count=" + sums.length)
println("text=" + text)
}
}
object Main {
def main(args: Array[String]): Unit = {
val base = 20
val sums = for (a <- List(1, 2); b <- List(3, 4)) yield base + a + b
val text = sums.mkString(",")
println("count=" + sums.length)
println("text=" + text)
}
}
object Main {
def main(args: Array[String]): Unit = {
val base = 100
val sums = for (a <- List(1, 2); b <- List(3, 4)) yield base + a + b
val text = sums.mkString(",")
println("count=" + sums.length)
println("text=" + text)
}
}
base ← 10, sums ← List(14, 15, 15, 16), text ← 14,15,15,16
1object Main {2 def main(args: Array[String]): Unit = {3 val base→ 10 = 10 //@base=20, 1004 val sums→ List(14, 15, 15, 16) = for (a <- List(1, 2); b <- List(3, 4)) yield base10 + a + b5 val text→ 14,15,15,16 = sumsList(14, 15, 15, 16).mkString(",")67 println("count=" + sums.length4)8 println("text=" + text14,15,15,16)9 }10}outputcount=4 text=14,15,15,16
base ← 20, sums ← List(24, 25, 25, 26), text ← 24,25,25,26
1object Main {2 def main(args: Array[String]): Unit = {3 val base→ 20 = 204 val sums→ List(24, 25, 25, 26) = for (a <- List(1, 2); b <- List(3, 4)) yield base20 + a + b5 val text→ 24,25,25,26 = sumsList(24, 25, 25, 26).mkString(",")67 println("count=" + sums.length4)8 println("text=" + text24,25,25,26)9 }10}outputcount=4 text=24,25,25,26
base ← 100, sums ← List(104, 105, 105, 106), text ← 104,105,105,106
1object Main {2 def main(args: Array[String]): Unit = {3 val base→ 100 = 1004 val sums→ List(104, 105, 105, 106) = for (a <- List(1, 2); b <- List(3, 4)) yield base100 + a + b5 val text→ 104,105,105,106 = sumsList(104, 105, 105, 106).mkString(",")67 println("count=" + sums.length4)8 println("text=" + text104,105,105,106)9 }10}outputcount=4 text=104,105,105,106