Scala枚举出现错误。
Scala中的Enumeration给出错误的原因是没有定义类型。在上述代码中,定义了一个WeekDay对象,并通过继承Enumeration类来创建一个枚举。然后使用type关键字定义了一个WeekDay类型,并为每个值分配了一个Value。接下来导入了WeekDay对象,并定义了一个isWorkingDay函数来检查是否是工作日。最后通过filter函数过滤出工作日的值,并使用foreach函数将结果打印出来。
然而,这段代码给出了一个错误,错误的原因是没有定义类型。解决这个错误的方法是不需要使用type关键字进行类型别名定义,直接使用Enumeration类中的Value类型即可。
以下是修改后的代码:
object Main extends App { object WeekDay extends Enumeration { val Mon, Tue, Wed, Thu, Fri, Sat, Sun = Value } import WeekDay._ def isWorkingDay(d: Value) = !(d == Sat || d == Sun) WeekDay.values filter isWorkingDay foreach println }
修改后的代码中,去掉了type关键字,并将isWorkingDay函数的参数类型修改为Value类型。这样就解决了Scala Enumeration给出错误的问题。