From b90291b28cb6b763402103e4207397d73b47931b Mon Sep 17 00:00:00 2001 From: slaykachu <53991702+slaykachu@users.noreply.github.com> Date: Thu, 12 Mar 2020 10:00:55 +0100 Subject: [PATCH] Clarify the type of for comprehension. I know we don't want to dig into details in the tutorial, but here the sentence was generally wrong. --- _tour/for-comprehensions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_tour/for-comprehensions.md b/_tour/for-comprehensions.md index 3f322d5ad9..97a335adbd 100644 --- a/_tour/for-comprehensions.md +++ b/_tour/for-comprehensions.md @@ -28,7 +28,7 @@ val twentySomethings = for (user <- userBase if (user.age >=20 && user.age < 30) twentySomethings.foreach(name => println(name)) // prints Travis Dennis ``` -The `for` loop used with a `yield` statement actually creates a `List`. Because we said `yield user.name`, it's a `List[String]`. `user <- userBase` is our generator and `if (user.age >=20 && user.age < 30)` is a guard that filters out users who are not in their 20s. +The `for` loop used with a `yield` statement usually creates the same sequence type as the first generator, here a `List`. Because we said `yield user.name`, it's a `List[String]`. `user <- userBase` is our generator and `if (user.age >=20 && user.age < 30)` is a guard that filters out users who are not in their 20s. Here is a more complicated example using two generators. It computes all pairs of numbers between `0` and `n-1` whose sum is equal to a given value `v`: