我需要编写一个递归函数来不断提示用户输入。在OCaml中实现等效while(1)的正确方法是什么?
答案 0 :(得分:2)
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'