By Alvin Alexander. Last updated: August 22 2019
Here’s a little Scala 3 (Dotty) enum
match/case expression example:
// a Scala 3 (Dotty) enum enum Suit { case Clubs, Diamonds, Hearts, Spades } object DottyEnumTest1 extends App { import Suit._ // an enum in a match expression def printEnum(suit: Suit) = suit match { case Clubs => println("clubs") case Diamonds => println("diamonds") case Hearts => println("hearts") case Spades => println("spades") } printEnum(Clubs) printEnum(Diamonds) printEnum(Hearts) printEnum(Spades) }
This works as of August 22, 2019 with what appears to be Dotty 0.17. I don’t think it worked earlier this summer, as I had made a note to ask if Scala 3 enums would eventually work with match expressions. So this is cool.