【发布时间】:2013-09-27 15:15:06
【问题描述】:
我正在尝试定义一个柯里化函数,该函数将一个函数和一个元组列表作为输入并返回一个布尔值
例如
values(fn (x,y:int)=>(x-y) [(5,0)];
val it = true:bool
但我的问题是我不知道如何将动态函数作为参数传递。这可能吗???帮帮我。我是初学者。
谢谢
【问题讨论】:
标签: functional-programming sml smlnj
我正在尝试定义一个柯里化函数,该函数将一个函数和一个元组列表作为输入并返回一个布尔值
例如
values(fn (x,y:int)=>(x-y) [(5,0)];
val it = true:bool
但我的问题是我不知道如何将动态函数作为参数传递。这可能吗???帮帮我。我是初学者。
谢谢
【问题讨论】:
标签: functional-programming sml smlnj
您可以像传递任何其他函数一样将函数作为值传递。例如:
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
【讨论】: