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