繁体   English   中英

如何从 Enum Scala3 中随机选择元素

[英]How to Random Choice element from Enum Scala3

我尝试这个链接堆栈溢出但还不够

我的问题很简单:

我有

enum Colors:
  case Blue, Red, Green

如何随机获得一个元素?

enum Colors:
  case Blue, Red, Green

@main def run: Unit = 
  import scala.util.Random

  val mycolor = Colors.values

  println(Random.shuffle(mycolor).head)

您可以使用Random.nextInt生成随机枚举值的索引。

这避免了对值Array进行洗牌,并且仅使用一个随机数。

import scala.util.Random

enum Colors:
  case Blue, Red, Green

object Colors:
  private final val colors = Colors.values

  def random: Colors = colors(Random.nextInt(colors.size))

@main def run: Unit =
  println(Colors.random)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM