gpt4 book ai didi

dictionary - 有没有更惯用的方式在 Kotlin 中初始化这个 map ?

转载 作者:IT老高 更新时间:2023-10-28 13:47:20 27 4
gpt4 key购买 nike

我正在编写一个小游戏,其中一部分是跟踪玩家的得分。为此,我有一个初始化如下的 map :

// given: players: List<Player>
var scores: MutableMap<Player, Int> = mutableMapOf(*players.map { it to 0 }.toTypedArray())

困扰我的是,我需要在 map { it to 0 } 的结果上使用 .toTypedArray()可以应用扩展运算符*。有没有办法避免这种情况?通过压缩两个数组创建 map 时也会出现同样的问题:

// does not compile:
mapOf(*a1.zip(a2))

// works but more verbose:
mapOf(*a1.zip(a2).toTypedArray())

最佳答案

val pointsByPlayer = players.map { it to 0 }.toMap(mutableMapOf())

也就是说,更好的设计可能会在 Player 类中简单地具有一个可变的 points 属性。

关于dictionary - 有没有更惯用的方式在 Kotlin 中初始化这个 map ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49220261/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com