【问题标题】:SML functional programming higher order function?SML函数式编程高阶函数?
【发布时间】:2013-01-13 10:19:58
【问题描述】:

我需要实现一个功能

 ziprev : 'a list -> 'b list -> ('a * 'b) list
 - ziprev [1,2,3,4] [10,20,30,40];
 val it = [(1,40),(2,30),(3,20),(4,10)] : (int * int) list

使用我已经创建的函数:

- zipW (fn (x, y) => x + y) [1,2,3,4] [10,20,30,40];
val it = [11,22,33,44] : int list

和库中的 List.rev。 我不知道如何用两个库做一个函数。有什么建议吗?

【问题讨论】:

    标签: functional-programming sml higher-order-functions


    【解决方案1】:

    提示 1:

    ziprev 的结果与

    进行比较
    List.zip [1,2,3,4] [10,20,30,40]
    

    您应该会看到一个相当明显的模式。

    提示 2:

    List.rev反转一个列表。

    提示 3:

    可以用zipW实现List.zip吗?
    也就是说,如果你想说

    normalzip xs ys = zipW something xs ys
    

    something 会是什么?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-01-16
      • 2013-03-20
      • 1970-01-01
      • 2022-01-06
      • 2014-04-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多