ocaml fixpoint函数

时间:2012-10-18 23:51:58

标签: ocaml

所以我在ocaml上做了一个赋值,我很困惑如何编写一个函数fixpoint,它应该比较一个函数和一个int x,f(x),并像f一样递归地比较它们( f(x)),f(f(f(x)))直到两个连续值相等,然后打印该值。

我们应该使用我们之前编写的wwhile函数

let rec wwhile (f,b) = match f(b) with
|(integer, boolean) -> if boolean == false then integer 
                       else wwhile (f, integer)

链接可以在这里找到

http://cseweb.ucsd.edu/classes/fa12/cse130-a/homeworks/hw2.html

我坚持使用它的固定点功能。

1 个答案:

答案 0 :(得分:0)

如前所述,你不应该只有一个匹配案例。

之后,请考虑以下事项:

  • 避免无限循环会很有趣。
  • 你有两种情况:f(x)= x和f(x)!= x,你可以在比赛中使用这个测试,但不仅如此。
  • 您可以匹配两个表达式:

    匹配value1,value2 = value3 with

    | v1case1,v2vase1 - > ... | v1case2,v2case2 - > ...

我的功能有效,但这是你的功课,所以你必须工作一点; - )