Scala TutorialContents Scala Introduction Scala Setup & Installation Scala First Program Scala REPL Basics Core Language Fundamentals Scala Variables Scala Data Types Scala Operators Scala String Basics Scala String Interpolation Scala Type Inference Control Flow Scala If Else Scala While Loop Scala For Loop Scala For Comprehensions Scala Match Expression Functions Scala Functions Scala Default Parameters Scala Named Arguments Scala Higher-Order Functions Scala Anonymous Functions Scala Recursion Scala Tail Recursion Collections Scala Arrays Scala Lists Scala Tuples Scala Sets Scala Maps Scala Ranges Scala Collection Methods Object-Oriented Programming Scala Classes Scala Objects Scala Companion Objects Scala Case Classes Scala Traits Scala Inheritance Scala Abstract Classes Scala Mixins Functional Programming Scala Immutability Scala Option Type Scala Either Type Scala Try Type Scala Map Filter Reduce Scala Partial Functions Scala Currying Pattern Matching Scala Pattern Matching Basics Scala Sealed Traits Scala Algebraic Data Types Scala Extractors Advanced Types Scala Generics Scala Variance Scala Type Bounds Scala Implicits Scala Type Classes Scala Context Parameters Error Handling & I/O Scala Exception Handling Scala File I/O Scala Command Line Input Concurrency & Advanced Scala Futures Scala Promises Scala Akka Intro Scala SBT Build Tool Scala with Java Interop Scala Testing with ScalaTest