如何有效地从scala中的枚举中选择一个随机元素?
发布时间:2020-12-16 18:08:34 所属栏目:安全 来源:网络整理
导读:我有这样的枚举: object Animals extends Enumeration { type Animals = Value val Monkey = Value("Monkey") val Lion = Value("Lion") val Dog = Value("Dog") val Cat = Value("Cat")} 我需要从这个枚举中随机选择一个元素.我怎样才能在scala中有效地做
我有这样的枚举:
object Animals extends Enumeration { type Animals = Value val Monkey = Value("Monkey") val Lion = Value("Lion") val Dog = Value("Dog") val Cat = Value("Cat") } 我需要从这个枚举中随机选择一个元素.我怎样才能在scala中有效地做到这一点? 解决方法
不到一分钟的
documentation节目
final def maxId:Int
和 final def apply(x:Int):Value
所以 Animals(scala.util.Random.nextInt(Animals.maxId)) //> res0: recursion.recursion.Animals.Value = Monkey (假设使用了所有值,并且您没有将初始值传递给构造函数) 或者您可以使用Animals.values枚举值,然后参考this question (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |