5

Twitter の Scala School "Basics Continued" http://twitter.github.io/scala_school/basics2.htmlには、次のオブジェクト定義があります。

object addOne extends Function1[Int, Int] {
  def apply(m: Int): Int = m + 1
}

[Int, Int] 型のパラメーター化がよくわかりません。Function1 を拡張するとき、単一の引数を取る適用を宣言していると思います。適用が単一の Int 引数のみを取るように構築されているのに、Function1[Int, Int] の 2 番目の Int はなぜですか?

説明してください。

4

1 に答える 1

12

リターンタイプです。Function1[Int, Int]と同じInt => Intです。1 を取り、1Intを返しますInt

次のように簡略化して記述できますscala.Function1

trait Function1[T1, R]{
  def apply(v1: T1): R
}
于 2013-06-10T21:10:42.347 に答える