gpt4 book ai didi

scala - 迭代类型安全配置中的字段

转载 作者:行者123 更新时间:2023-12-02 05:37:45 25 4
gpt4 key购买 nike

我有 perks.conf:

autoshield {
name="autoshield"
price=2
description="autoshield description"
}
immunity {
name="immunity"
price=2
description="autoshield description"
}
premium {
name="premium"
price=2
description="premium description"
}
starter {
name="starter"
price=2
description="starter description"
}
jetpack {
name="jetpack"
price=2
description="jetpack description"
}

我想迭代我的应用程序中的福利,如下所示:

val conf: Config = ConfigFactory.load("perks.conf")
val entries = conf.getEntries()
for (entry <- entries) yield {
Perk(entry.getString("name"), entry.getInt("price"), entry.getString("description"))
}

但我找不到返回配置中所有条目的适当方法。我尝试了 config.root(),但它似乎返回了所有属性,包括系统、akka 和许多其他属性。

最佳答案

entrySet 折叠树。如果您只想迭代直接子级,请使用:

conf.getObject("perks").asScala.foreach({ case (k, v) => ... })

k 将是“autoshield”和“immunity”,但不是“autoshield.name”、“autoshield.price”等。

这需要您导入scala.collection.JavaConverters._

关于scala - 迭代类型安全配置中的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17598856/

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