Tour of Scala - Tour of Scala LogoTour of Scala

Made by Leo Benkel
Tour of Scala - Patreon LogoTour of Scala - LinkedIn LogoTour of Scala - Github Logo

Here, you can slowly build up knowledge about Scala.

Each exercises are designed to be done in a very short amount of time and learn a little bit each day, just to create a routine.

Each episode will teach you about one specific thing and rely on the previous exercises to be solved.

Hope you are going to enjoy it! It is designed for anyone to learn Scala from scratch and slowly learn, one Bit at a time.

For each exercise, you should be able to guess by yourself the solution based on what you previously learned and based on the introduction. If you get stuck don't hesitate to reveal the extra clues.

The goal of the exercise is to replace the???by some of your own code. When you are done, click to reveal the extra information and clues to get a better understanding of the concept.

Don't hesitate to experiment by editing the code to anything you like.

If you have any comments, suggestions or feedback, make sure to message me on Discord, or LinkedIn, or submit an issue on GitHub, or submit a PR on GitHub.

Scala ValuesScala String InterpolationScala MethodsScala Method with ArgumentsScala List Sum MethodScala OptionScala difference between val, lazy val and defScala Map for ListScala Class newScala ComparatorsScala List Filter MethodScala Call-by-name ParametersScala Case ClassScala objectsScala visibilityScala companion objectsScala applyScala Option mapScala List FlattenScala TupleScala Thread SleepScala RandomScala flatMapScala CurryScala TryScala RangeScala List parallelScala mainScala SetScala defined typeScala pattern matchingScala foldLeftScala StreamScala for-comprehensionScala implicit classScala RegexScala implicit valScala FutureScala traitScala EitherScala String FormatScala abstract classScala RecursionScala Repeated ParametersScala Generic TraitScala SealedScala case objectScala Enumeration for 2.xScala contextsScala infix notationScala pattern matching @Scala pattern matching ORScala pattern matching for case classScala upper constraintScala case class copyScala implicit conversionScala case class unapplyScala Challenge 1Scala List zipScala _ placeholderScala implicit proofScala unapply magicScala multiple inheritanceScala constraint inheritanceScala higher kindScala _ wildcardScala val pattern matchingScala *-parameterScala self-referred typeScala Option pattern matchingScala List pattern matchingScala List of Option flattenScala operatorsScala literal identifiersScala extractor patternScala FunctorScala FoldableScala ApplicativeScala CovarianceScala TraversableScala TypeclassScala Monad