学んだことをなぐり書き


Mapの要素はTuple2

var cap = Map("hoge" -> 3)
//cap += ("moke" -> 5)                                                                                                                                          
cap += Tuple2("moke", 5) 
println(cap)
// "moke" -> 5 は Tuple2("moke", 5) でも動く
Map(hoge -> 3, moke -> 5)

PreDef.scala内で -> は定義されている

  final class ArrowAssoc[A](val x: A) {
    @inline def -> [B](y: B): Tuple2[A, B] = Tuple2(x, y)
    def →[B](y: B): Tuple2[A, B] = ->(y)
  }
  implicit def any2ArrowAssoc[A](x: A): ArrowAssoc[A] = new ArrowAssoc(x)

:: は右被演算子

1 :: List(2, 3) の場合 (1).::(List(2, 3) ではなく、List(2, 3).::(1) という形になる。

メンバーのみ編集できます