gpt4 book ai didi

scala - Scala 中具有迭代的丰富枚举

转载 作者:行者123 更新时间:2023-12-02 21:34:02 26 4
gpt4 key购买 nike

我正在尝试在 Scala 中实现 Rich 枚举,其中我的枚举还必须实现例如特征。

这工作正常,但是当我尝试迭代枚举时,Enumeration.values 返回一个 ValueSet,它是 Enumeration.Value 的集合

Travis Brown Iteration over a sealed trait in Scala? 建议有一种简单的方法来实现此功能,而无需使用宏和密封特征?

最佳答案

使用 Enumeration 类可以相对容易地完成 scala 中的枚举。下面是一个示例。

trait Num {
def echo
}

object Status extends Enumeration {

case class StatusVal(code: Int, name: String) extends Val with Num {
override def echo {
println("Number: " + name)
}
}
val ONE = StatusVal(1, "One")
val TWO = StatusVal(2, "Two")
val THREE = StatusVal(2, "Three")
}

Status.values foreach (s => s.asInstanceOf[Num].echo)

关于scala - Scala 中具有迭代的丰富枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21784879/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com