gpt4 book ai didi

c - If then 具有多个表达式 OCaml

转载 作者:行者123 更新时间:2023-11-30 16:25:53 25 4
gpt4 key购买 nike

如何在 OCaml 中编写类似这样的代码(C 中的 main())

for (i=0; i<y; i++)
if (x==5)
{
y=i;
return true;
}

它将返回 bool 值 True 并且 y 将等于相应的 i 值。

基本上,在 OCaml 中,我想知道是否可以有一个 if :

for i=0 to y-1 do
if x=5 then
begin
y=i
true
end
else ()
done;;

我知道开始和结束之间的线没有正确实现。我什至不知道我想做的事情是否可以在 OCaml 中实现。如果您是对此有了解的人,请与我分享。谢谢!

最佳答案

如果您的问题是关于 for 循环的提前返回,那么您可以这样做:

exception Break of int

let n =
try
for i = 0 to 5 do
if i mod 2 = 0 then
raise (Break i)
done;
0
with
Break i -> i

您还可以分配给 ref 单元格,而不是在异常中传递值(如果这更适合您的用例)。但这不是您通常应该在 OCaml 中编写的代码类型。尝试在 OCaml 中模拟 C 几乎总是一个坏主意。

关于c - If then 具有多个表达式 OCaml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53239171/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com