因此,我正在Kotlin中使用类进行基于文本的游戏。我需要知道除了下面的代码还有其他方法。例如,我希望它执行
之类的操作val game:MutableList<MutableList<Char>> = mutableListOf(mutableListOf(' '*6)*7)
游戏:
private val game:MutableList<MutableList<Char>> = mutableListOf(
mutableListOf(' ', ' ', ' ', ' ', ' ', ' '),
mutableListOf(' ', ' ', ' ', ' ', ' ', ' '),
mutableListOf(' ', ' ', ' ', ' ', ' ', ' '),
mutableListOf(' ', ' ', ' ', ' ', ' ', ' '),
mutableListOf(' ', ' ', ' ', ' ', ' ', ' '),
mutableListOf(' ', ' ', ' ', ' ', ' ', ' '),
mutableListOf(' ', ' ', ' ', ' ', ' ', ' ')
)
答案 0 :(得分:6)
MutableList(7) { MutableList(6) { ' ' } }
使用inline fun <T> MutableList(size: Int, init: (index: Int) -> T): MutableList<T>
。其他集合具有类似的工厂功能。
答案 1 :(得分:1)
generateSequence 可用于使用函数创建元素序列。 take()将序列限制为多个元素,并且 toMutableList()将其转换为列表。
private val game: MutableList<MutableList<Char>> =
generateSequence { generateSequence { ' ' }.take(6).toMutableList() }
.take(7).toMutableList()