如何从 Enum Scala3 中随机选择元素
Posted
技术标签:
【中文标题】如何从 Enum Scala3 中随机选择元素【英文标题】:How to Random Choice element from Enum Scala3 【发布时间】:2021-12-31 12:58:46 【问题描述】:我的问题很简单。我有以下内容:
enum Colors:
case Blue, Red, Green
如何从这个枚举中选择一个随机元素?我尝试了this question 的解决方案,但没有成功。
【问题讨论】:
【参考方案1】:enum Colors:
case Blue, Red, Green
@main def run: Unit =
import scala.util.Random
val mycolor = Colors.values
println(Random.shuffle(mycolor).head)
【讨论】:
【参考方案2】:您可以使用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)
【讨论】:
以上是关于如何从 Enum Scala3 中随机选择元素的主要内容,如果未能解决你的问题,请参考以下文章