scala中的高阶函数

时间:2018-04-24 20:45:58

标签: scala higher-order-functions

def map2(fun: Int=>Int)(a_list: List[Int]): List[Int] ={
   if (a_list.isEmpty){
     return List()
   } else{
     return fun(a_list.head)::map2 fun(a_list.tail)
   }
}

它一直给我这个错误:

You can make this conversion explicit by writing `map2 _` or `map2(_)(_)` instead of `map2`.
    return fun(a_list.head)::map2 fun(a_list.tail)
                             ^

1 个答案:

答案 0 :(得分:3)

你忘记了一些括号

def map2(fun: Int=>Int)(a_list: List[Int]): List[Int] = {
   if (a_list.isEmpty){
     List()
   } else {
     fun(a_list.head) :: map2(fun)(a_list.tail)
   }
}