Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
scala中的高阶函数_Scala_Higher Order Functions - Fatal编程技术网

scala中的高阶函数

scala中的高阶函数,scala,higher-order-functions,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 _`

它总是给我这个错误:

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)
                             ^

惯用Scala不使用
return
。您不需要它。如果您包含错误消息的第一部分来解释问题,这将更加明显。
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)
   }
}