- 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
The Option type (null safety)
This lesson covers the Option type, which safely represents "there may or may not be a value here".
Scala uses Option — Some(value) when there is a value and None when there is not — to prevent the runtime errors that come from handling null directly.
In the sample code, prices.get("melon") searches the map and returns Option[Int], and match handles the found and not-found cases safely.
A common early stumble is trying to use the contents of an Option directly and hitting an error. You have to check for Some or None before taking the value out — which is how Scala turns null-related runtime errors into compile-time ones.
In professional work, Option appears in almost every operation where the data might not exist, making it one of Scala's central safety features.
๐งช 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).
