首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >地图中的案例与无案例

地图中的案例与无案例
EN

Stack Overflow用户
提问于 2016-06-16 20:29:54
回答 1查看 3.7K关注 0票数 2

如果我在Scala中有以下代码:

代码语言:javascript
复制
val prices = Map("bread" -> 4.56, "eggs" -> 2.98, "butter" -> 4.35)
prices.map((k,v) => (k, v-1.1)).toMap

我知道错误:

代码语言:javascript
复制
The expected type requires a one-argument function accepting a 2-Tuple.
Consider a pattern matching anonymous function, `{ case (k, v) =>  ... }`

但当我将第二行改为:

代码语言:javascript
复制
prices.map{ case(k,v) => (k, v - 1.1) }.toMap

上面的错误消失了?请有人解释一下,我什么时候需要在地图函数中使用用例?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-16 21:10:31

正如@chrisaycock的评论中提到的,在普通地图中没有自动解压缩。你需要像这样使用它:

代码语言:javascript
复制
scala> val prices = Map("bread" -> 4.56, "eggs" -> 2.98, "butter" -> 4.35)
prices: scala.collection.immutable.Map[String,Double] = Map(bread -> 4.56, eggs -> 2.98, butter -> 4.35)

scala> prices.map(kv => (kv._1, kv._2-1.1)).toMap
res0: scala.collection.immutable.Map[String,Double] = Map(bread -> 3.4599999999999995, eggs -> 1.88, butter -> 3.2499999999999996)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37868804

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档