所以我试图为ml课程做一个作业,问题是这个函数需要一个集合类型:例如int * int -> int,我看到解决问题的方法是使用另一个函数(比如迭代)来解决这个问题。
我相信lisp有某种功能,只适用于另一种功能。
我认为这是可以做到的:
fun a (x, y) =
let
fun b (i,j) = ...;
in
...;我不确定这方面的确切语法,但我记得只读过这样的东西:临时变量(可以是函数)?
但是如果这是错误的,请纠正我。
发布于 2016-10-09 20:13:01
在ML中,函数是一级公民(即值)。您可以像任何其他值一样通过let绑定它们。
因此,你的想法是正确的。对于作为“迭代器”传递的函数(即映射/折叠/iter),它尤其是一个很好的设计。不过,你的问题太含糊了,不能提出进一步的建议。
https://stackoverflow.com/questions/39947990
复制相似问题