【问题标题】:curried function which takes a function and a list of tuples as inputcurried 函数,它将一个函数和一个元组列表作为输入
【发布时间】:2013-09-27 15:15:06
【问题描述】:

我正在尝试定义一个柯里化函数,该函数将一个函数和一个元组列表作为输入并返回一个布尔值

例如

values(fn (x,y:int)=>(x-y) [(5,0)];
val it = true:bool

但我的问题是我不知道如何将动态函数作为参数传递。这可能吗???帮帮我。我是初学者。

谢谢

【问题讨论】:

    标签: functional-programming sml smlnj


    【解决方案1】:

    您可以像传递任何其他函数一样将函数作为值传递。例如:

    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
    

    【讨论】:

      猜你喜欢
      • 2019-10-18
      • 2020-07-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-11
      • 2022-01-04
      • 1970-01-01
      相关资源
      最近更新 更多