空のマップがあるとしましょう
val map = Map[Int, Int]()
次のコードは正しくコンパイルされるため、混乱しています。
map.foldLeft((0,0)){case((k1, v1), (k2, v2)) => (-1, -1)}
次の一見正確なコード スニペットでは、コンパイル エラーが発生します。
map reduceLeft {case((k1, v1), (k2, v2)) => (-1, -1)}
エラーは次のとおりです。
scala> map reduceLeft {case((k1, v1), (k2, v2)) => (k1, v1)}
<console>:9: error: missing parameter type for expanded function
The argument types of an anonymous function must be fully known. (SLS 8.5)
Expected type was: (?, (Int, Int)) => ?
map reduceLeft {case((k1, v1), (k2, v2)) => (k1, v1)}
これは大きな問題ではありませんが、これに対処する必要がないことは明らかです。どうすれば違うのか、何かアイデアはありますか?それとも、それを受け入れることを学ばなければなりませんか?