gpt4 book ai didi

F# 从循环返回

转载 作者:行者123 更新时间:2023-12-01 04:40:41 25 4
gpt4 key购买 nike

我尝试在 F# 中实现以下 C++ 代码。我收到一 strip 有 F# 段(if 语句之间的行)的错误消息。据我了解,语句“i”不适用于函数,而是适用于“for”循环?

C++代码

int move( Board b )
{
for( int i = 0; i < b.size(); ++i )
if( b(i) != "*" )
return i;
return -1;
}

F#代码

let move (board:array<string>) :int =
for i = 0 to (board.Length-1) do
if( Array.item(i) board <> "*" ) then
i
done
-1

最佳答案

您不能在 F# 中中断循环,但不用担心,当您习惯 F# 时就不需要,它实际上更容易:

let move (board:array<string>) :int =
match Array.tryFindIndex (fun e -> e <> "*") board with
| Some n -> n
| None -> -1

关于F# 从循环返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48130871/

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