2017-08-10 8 views
1

私はScala 2.12.3です。withDefaultMethodのように見えます。エントリが存在しない場合、私はまだMapNoneを取得する:私はここにwithDefaultValueは不変では機能しません。2.12.3のマップ

> 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

のでご例えば、あなたは0を取得するためscores1("aaa")を使用する必要があります。

+0

わかりました。私はその文書をチェックしなかった。焦った人のためのScala第4.2版の第2版は 'val zeldasScore1 = scores1.get(" Zelda ")'を使っています。 – user2018791

関連する問題