【发布时间】:2018-04-14 02:50:32
【问题描述】:
考虑函数 g 获取 integer 并在 integer 大于之前确定的某个随机 const 正值时返回 true,否则返回 false。
我想在 SML 中编写一个函数 f,它将函数 g 作为参数。这个函数f 应该返回这个之前决定的随机 const 正值。
算法(用其他语言,C 或其他语言):
int f(int num) {
int num = 1;
while(!g(num)) {
num++;
}
return num;
}
现在这是我在 SML 中尝试的:
fun f g =
let
val num = 1;
in
while !(g num) do (
val num = num + 1;
);
num
end;
但它不起作用。有什么建议么?
【问题讨论】:
-
你的 C 代码应该是
int f(bool (*g)(int)) {...,对吧?