子函数ml

时间:2016-10-09 20:05:05

标签: function ml

所以我试图为ml课程做作业,问题是该函数需要一个集合类型:int * int -> int例如,我看到解决问题的方式是使用另一个函数(比如迭代)来解决问题。

我相信lisp有一种方法可以让函数只在另一个函数的范围内。

我认为可以做到这一点:

fun a (x, y) = 
  let
     fun b (i,j) = ...;
  in
  ...;

[不确定这个的确切语法,但我记得读过这样的东西只是为了临时变量(可能是函数?)

但如果这是错误的,请纠正我。

1 个答案:

答案 0 :(得分:1)

在ML中,功能是一等公民(即价值观)。您可以通过SELECT [key] FROM OPENJSON(@json) 绑定它们,就像任何其他值一样。

因此,您的想法是正确的。对于作为“迭代器”传递的函数(即映射/折叠/ iter),它尤其是一个很好的设计。对于任何进一步的建议,你的问题太模糊了。