子函数 ml
Sub functions ml
所以我正在尝试为 ml 课程做作业,问题是该函数需要一个集合类型:例如 int * int -> int
,我认为解决问题的方法是使用另一个函数(比如迭代)来解决问题。
我相信 lisp 有某种方法可以让一个函数只在另一个函数的范围内。
我认为可以做到:
fun a (x, y) =
let
fun b (i,j) = ...;
in
...;
[不确定这个的确切语法,但我记得读过类似这样的东西,它只是用于临时变量(可能是函数?]
如有错误请指正
在 ML 中,函数首先是 class 公民(即值)。您可以像任何其他值一样通过 let
绑定它们。
所以,你的想法是正确的。对于作为 "iterators"(即 map/fold/iter)传递的函数来说,这是一个很好的设计。你的问题太笼统了,没有进一步的建议。
所以我正在尝试为 ml 课程做作业,问题是该函数需要一个集合类型:例如 int * int -> int
,我认为解决问题的方法是使用另一个函数(比如迭代)来解决问题。
我相信 lisp 有某种方法可以让一个函数只在另一个函数的范围内。
我认为可以做到:
fun a (x, y) =
let
fun b (i,j) = ...;
in
...;
[不确定这个的确切语法,但我记得读过类似这样的东西,它只是用于临时变量(可能是函数?]
如有错误请指正
在 ML 中,函数首先是 class 公民(即值)。您可以像任何其他值一样通过 let
绑定它们。
所以,你的想法是正确的。对于作为 "iterators"(即 map/fold/iter)传递的函数来说,这是一个很好的设计。你的问题太笼统了,没有进一步的建议。