- 01Setting up (what you'll need)
- 02Your first output (println)
- 03Variables (val and var)
- 04Type annotations and basic types
- 05Branching (the if expression)
- 06Repeating (the for expression)
- 07Writing your own function
- 08Repeating (the while loop)
- 09Working with lists (List)
- 10Working with maps (Map)
- 11Classes (object orientation)
- 12case class
- 13Inheritance and traits
- 14Pattern matching (the match expression)
- 15The Option type (null safety)
- 16Higher-order functions, map and filter
- 17object (singletons)
- 18Strings and string interpolation
- 19for comprehensions
- 20[Project] Build a small inventory system
for comprehensions
This lesson covers the for comprehension, which expresses generating and transforming a list in one construct.
Writing for (variable <- range) yield expression builds a new list as it loops. It resembles map, but expresses transformations with complicated conditions more naturally.
The sample code writes for (i <- 1 to 10 if i % 2 == 0) yield i * i to build a new list of the squares of the even numbers from 1 to 10.
A common early stumble is forgetting yield. Without it, the for expression is just a loop that returns nothing, and no new list is built.
In professional work, for comprehensions are a readable choice whenever you are combining several lists or transforming data subject to conditions.
๐งช This site can't compile or run Scala directly, so it checks on the spot whether what you typed matches the reference code (scoring happens entirely in your browser โ nothing is sent anywhere).
