如何在OCaml中编写类似这样的代码(在C语言中为main())
with open(keeniz_dir + '/world_cities.csv', 'r', encoding='latin1') as input:
它将返回布尔值True,并且y等于相应的i值。
基本上,在OCaml中,我想知道您是否可以使用if
for (i=0; i<y; i++)
if (x==5)
{
y=i;
return true;
}
我知道begin-end之间的线没有正确实现。我什至不知道我想在OCaml中做些什么。如果您是对此有知识的人,请与我分享。谢谢!
答案 0 :(得分:0)
如果您的问题是关于从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几乎总是一个坏主意。