接收错误“阻止跟随'让'未完成”。期待一个表达

时间:2017-03-04 23:51:12

标签: f#

我试图在F#代码下面运行,但是收到错误“接收错误”“let”之后的块未完成“。期望表达式”。有什么想法吗? let search func list = let rec loop func list index = match list with | [] -> -1 | hd::tl -> if func hd then index else loop func tl(index+1) loop func list 0

1 个答案:

答案 0 :(得分:1)

您可以粘贴代码块,因此无需逐行格式化。你看到的错误几乎总是来自两个(相关的)问题,a)缩进是关闭的,b)因为缩进是关闭的,或者你只是忘了从函数返回一个值。这很少是一个问题,因为VS和Code都可以使用缩进线或深度着色,因此您可以立即看到什么是关闭的。

你的意思是这样的:

let search func list =
    let rec loop func list index =
        match list with
        | [] -> -1
        | hd::tl -> if (func hd) then index
                    else loop func tl (index+1)
    loop func list 0