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 函数。
我不得不在不使用高阶函数的情况下做一个练习。你能解释一下那些是什么吗?
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 函数。