等同于 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'
我需要编写一个不断提示用户输入的递归函数。在 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'