等同于 OCaml 中的 while(1)?

Equivalent of while(1) in OCaml?

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

OCaml中没有break也没有return。所以我恭敬地建议你不要真的写 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'