Zrozumienie wyliczeń scala
Muszę powiedzieć, że nie rozumiem klas wyliczeniowych Scala. Mogę skopiować i wkleić przykład z dokumentacji, ale nie mam pojęcia, co się dzieje.
object WeekDay extends Enumeration {
type WeekDay = Value
val Mon, Tue, Wed, Thu, Fri, Sat, Sun = Value
}
import WeekDay._
Co znaczytype WeekDay = Value
i dlaczego muszę to napisać?Dlaczego jestval Mon = Value
? Co to w ogóle znaczy?Dlaczego muszę zaimportowaćWeekDay
obiekt? I,kiedy piszęval day = WeekDay.Mon
, dlaczego to jest typWeekDay.Value
, nie wpiszWeekDay
?