我正在尝试定义一个curried函数,它将一个函数和一个元组列表作为输入并返回一个布尔值
例如
values(fn (x,y:int)=>(x-y) [(5,0)];
val it = true:bool
但我的问题是我不知道如何将动态函数作为参数传递。有可能吗???帮助我。我是初学者。
由于
答案 0 :(得分:0)
您可以像传递任何其他函数一样传递函数。例如:
fun values f [] = ...
| values f (x::xs) = ...
然后可以使用f
,就像它是在函数外部定义的函数一样。
作为一个相关示例,这是一个函数,它接受x
和函数列表[f1, f2, ..., fn]
,并将列表中的每个函数应用于x
:
fun values x [] = []
| values x (f::fs) = f x :: values x fs