这段代码用一些随机值更新了二维数组的所有元素,有没有其他简单而简短的代码来解决这个问题?

val terrainTypes = TerrainBlockType.values

(0 until width).foreach(i => {
    (0 until height).foreach(j => {
        val r = Random.nextInt(terrainTypes.length)
        terrainMap(i)(j) = terrainTypes(r)
    })
})

最佳答案

如果要更新已存在的数组:

terrainMap.foreach(_.transform(_ =>
  terrainTypes(Random.nextInt(terrainTypes.length))
))

10-06 11:25