困惑于“...... extends Function1 [Int,Int]”

时间:2013-06-10 21:01:22

标签: scala

在推特斯卡拉学校“基础知识持续”http://twitter.github.io/scala_school/basics2.html中,有以下对象定义

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

我不完全理解[Int,Int]类型参数化。当我们扩展Function1时,我相信我宣布我将申请一个参数, 为什么我的apply中的第二个Int构建为只接受一个I​​nt参数?

请解释。

1 个答案:

答案 0 :(得分:11)

这是返回类型。 Function1[Int, Int]Int => Int相同。它需要一个Int并返回一个Int

我们可以像这样编写简化的scala.Function1

trait Function1[T1, R]{
  def apply(v1: T1): R
}