Scala嵌套函数-调用

时间:2019-07-05 09:45:57

标签: scala

我在scala中创建了嵌套函数,如下所示,但没有收到任何错误。 但是,当我调用此函数时,出现以下错误。

功能-

  def f1( a: Int, b: Int, f: (Int,Int) => Int ): Int = {  

  def f2( c: Int, b: Int ): Int = {
    println("Welcome to Inner Function")
    return  c*b
  }

  a match {
    case 1 => f2(a,f(b,a))
    case 2 => f2(a,b)            
  }

}

函数调用-

f1(3,4,(a,b) => a+b)

错误

scala.MatchError: 3 (of class java.lang.Integer)
  at f1(<console>:31)
  ... 49 elided

1 个答案:

答案 0 :(得分:1)

如注释中所述,3与模式匹配中的任何模式(大小写)都不匹配。 请参阅描述此错误的documentation