2017-08-10 13 views
1

我在Scala 2.12.3中,看起來像withDefaultMethod不起作用。我仍然得到None如果條目不存在於MapwithDefaultValue不適用於2.12.3中的immutable.Map

> console 
[info] Starting scala interpreter... 
[info] 
Welcome to Scala 2.12.3 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_141). 
Type in expressions for evaluation. Or try :help. 

scala> val scores = Map("Alice" -> 100, "Bob" -> 80, "Cindy" -> 99) 
scores: scala.collection.immutable.Map[String,Int] = Map(Alice -> 100, Bob -> 80, Cindy -> 99) 

scala> val scores1 = scores.withDefaultValue(0) 
scores1: scala.collection.immutable.Map[String,Int] = Map(Alice -> 100, Bob -> 80, Cindy -> 99) 

scala> val aaaScore = scores1.get("aaa") 
aaaScore: Option[Int] = None 

scala> 

我是缺少在這裏?

回答

4

正如文件默認值不會影響,withDefaultValue

getcontainsiteratorkeys

所以對於你的榜樣,你應該使用scores1("aaa")用於獲取0

+0

哦,我的壞。我沒有檢查文件。 Scala爲第4版的第二版不耐煩使用'val zeldasScore1 = scores1.get(「Zelda」)'。 – user2018791

相關問題