List.assoc 是高阶函数吗?

Is List.assoc an high order function?

我不得不在不使用高阶函数的情况下做一个练习。你能解释一下那些是什么吗?

let rec apply asslist elle = 
  match elle with
    [] -> []
  | x::rest -> 
      if List.mem_assoc x asslist then 
        List.assoc x asslist :: apply asslist rest
      else 
        x :: apply asslist rest

我用过吗?

higher-order 函数是对函数进行操作的函数,即,它将函数作为输入或 returns 函数作为输出,或两者兼而有之。例如,List.map 接受一个函数并将其应用于列表,因此它是一个 higher-order 函数。相反,List.assoc 函数接受一个值和一个列表,因此它不是 higher-order 函数,因为它不接受任何函数。出于同样的原因,List.mem_assoc 也不是。因此您的代码不使用或定义任何 higher-order 函数。