Scala-Aufzählungen verstehen

Ich muss sagen, dass ich Scala-Aufzählungsklassen nicht verstehe. Ich kann das Beispiel aus der Dokumentation kopieren und einfügen, aber ich habe keine Ahnung, was los ist.

object WeekDay extends Enumeration {
  type WeekDay = Value
  val Mon, Tue, Wed, Thu, Fri, Sat, Sun = Value
}
import WeekDay._
Was bedeutettype WeekDay = Value und warum muss ich das schreibenWarum istval Mon = Value? Was bedeutet das überhaupt?Warum muss ich das importieren?WeekDay Objekt? Und,wenn ich schreibeval day = WeekDay.Mon, warum ist es TypWeekDay.Valuenicht eingebenWeekDay?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage