object T1_highOrder01 {
def main(args: Array[String]): Unit = {
println("---------------------使用高阶函数------------------")
val t2: List[Int] = List(4, 6, 23)
val list2: List[Int] = t2.map(c2)
println(list2)
def c2(i:Int):Int={
i*2
}
}
}
如上述代码运行抛出:
forward reference extends over definition of value list2
原因:方法体不能放在main主函数中,也就是c2不能再main中
改为如下:
object T1_highOrder01 {
def main(args: Array[String]): Unit = {
println("---------------------使用高阶函数------------------")
val t2: List[Int] = List(4, 6, 23)
val list2: List[Int] = t2.map(c2)
println(list2)
//---------------------使用高阶函数------------------
//List(8, 12, 46)
}
//函数体
def c2(i:Int):Int={
i*2
}
}