2

artima " Programming in Scala " 本を通して Scala の味を感じています。

Map特性を提示する一方で、作成者->はタプルを取得するために任意の型に適用できるメソッドとして構文を説明するために、ある程度の時間を費やしています。

本当に:

scala> (2->"two")
res1: (Int, String) = (2,two)

scala> (2,"two")
res2: (Int, String) = (2,two)

scala> (2->"two") == (2, "two")
res3: Boolean = true

しかし、それらは同等ではありません:

scala> Map(1->"one") + (2->"two")
res4: scala.collection.immutable.Map[Int,String] = Map(1 -> one, 2 -> two)

scala> Map(1->"one") + (2, "two")
<console>:8: error: type mismatch; 
found   : Int(2)
required: (Int, ?)
             Map(1->"one") + (2, "two")

私の最初のテストでは、両方の「ペア」構文がタプルを構築することが示されているように見えるのに、なぜそうなるのでしょうか?

よろしく。

4

1 に答える 1