"justin") println(my-6ren">
gpt4 book ai didi

scala - Scala 中的 MapView()

转载 作者:行者123 更新时间:2023-12-04 01:09:37 33 4
gpt4 key购买 nike

我开始学习 Scala,但发现了一个关于 map 的令人困惑的问题。 .我的代码是这样的:

val mymap = Map(1 -> "james",2 -> "justin")
println(mymap.view.mapValues(x => "hi" + x))
println(mymap.view.mapValues(x => x.toUpperCase))
但结果是
MapView(<not computed>)
MapView(<not computed>)
我正在使用 view.mapValues因为 .map已弃用。我需要阅读有关此内容的任何建议或文档吗?

最佳答案

尝试以下操作:

val mymap = Map(1 -> "james",2 -> "justin")
println(mymap.view.mapValues(x => "hi" + x).toMap)
println(mymap.view.mapValues(x => x.toUpperCase).toMap)
请注意,在 Scala 2.12 中调用 mapValues返回了 Map .在 Scala 2.13 mapValues was deprecated ,消息:
@deprecated("Use .view.mapValues(f). A future version will include a strict version of this method (for now, .view.mapValues(f).toMap).", "2.13.0")
为了得到 Map您应该调用 .view.mapValues(f).toMap .如果您不调用 toMap , 你得到一个 MapView 的实例,它没有被物化。欲了解更多信息,请阅读精彩帖子: Stream vs Views vs Iterators .

关于scala - Scala 中的 MapView(<not computed>),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65289749/

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