gpt4 book ai didi

scala - 如何在 Scala 2.8 中获取枚举集的 Long/Int 值

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

在 Scala 2.7 中,Enumeration 提供 Set32/Set64 来构建枚举集并轻松获取 Long/Int 中的按位值或从 Long/Int 值构建枚举集(这简化了数据库存储)。 Scala 2.8 删除了这些类。 2.8 lib 中有替代品吗?

最佳答案

这种表示很容易实现,你应该自己做,因为 Scala 库的内部实现可能会改变,你的数据会被破坏:

object WeekDay extends Enumeration {
type WeekDay = Value
val Mon, Tue, Wed, Thu, Fri, Sat, Sun = Value
}
import WeekDay._
val values = Set(Mon,Wed,Fri)
require(values.length < 31)
(0 /: values) ((s, c) => s | 1 << c.id).toBinaryString

请记住,将序数存储在数据库中是脆弱的: Storing EnumSet in a database? .您应该为每个值选择一个稳定的序数。

关于scala - 如何在 Scala 2.8 中获取枚举集的 Long/Int 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3130457/

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