这只是一个例子。这两个功能是相连的。你真的想调用最低的那个。然后它应该返回两者中最小的数字。这当然行不通,因为您在编译 reducemax 函数时调用了一个未定义的函数,当时称为最低。
fun reducemax (i:int * int):int =
if (#1 i) > (#2 i)
then lowest(((#1 i)-1), (#2 i))
else lowest((#1 i), ((#2 i)-1));
fun lowest (i:int * int):int =
if (#1 i) = (#2 i)
then (#1 i)
else reducemax((#1 i), (#2 i));
我知道我可以使用 let 来在最低的内部声明 reducemax 函数,但是有什么办法解决这个问题吗?例如在 C 中,声明函数而不定义它。我确实理解 reducemax 函数需要知道最低将返回一个 int 并采用一个 int * int 参数。