相当于OCaml中的while(1)?

时间:2016-09-15 03:57:08

标签: loops while-loop ocaml read-eval-print-loop

我需要编写一个递归函数来不断提示用户输入。在OCaml中实现等效while(1)的正确方法是什么?

1 个答案:

答案 0 :(得分:2)

OCaml中没有breakreturn。所以我恭敬地建议你不要写while true do ... done

如果(我怀疑)有一个应该终止循环的条件,你可以写:

while not <condition> do
    . . .
done

如果您按照以下几行编写递归函数,它通常会为您提供更多惯用代码:

let rec loop a b c =
    if condition a b c then
        ()
    else
        let (a', b', c') = do_something a b c in
        loop a' b' c'