我的问题很简单。我有以下几点:
enum Colors: case Blue, Red, Green
如何从这个枚举中选择一个随机元素?我尝试了this question中的解决方案,但没有成功。
tv6aics11#
可以使用Random.nextInt生成随机枚举值的索引。这避免了混洗Array的值,并且仅生成一个随机数。
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)
ecr0jaav2#
enum Colors: case Blue, Red, Green @main def run: Unit = import scala.util.Random val mycolor = Colors.values println(Random.shuffle(mycolor).head)
2条答案
按热度按时间tv6aics11#
可以使用
Random.nextInt
生成随机枚举值的索引。这避免了混洗
Array
的值,并且仅生成一个随机数。ecr0jaav2#