Visual studio-f#-错误FS0588:此';让';这是未完成的。期待表达

Visual studio-f#-错误FS0588:此';让';这是未完成的。期待表达,f#,F#,我有好几次,尝试实现不同的功能,你看到的消息标题。我想知道是否有人能告诉我这个错误消息的一般含义(和原因)。正如我之前提到的,我已经多次遇到这个问题并设法解决了它,但仍然没有得到确切的原因,所以我不会发布任何具体的代码 提前感谢您当您编写let绑定时,最常见的情况是后面没有计算结果的表达式。在F#中,所有内容都是一个返回某些结果的表达式,因此如果您编写让a=10,它通常不是一个有效的表达式。要使其有效,您需要返回以下内容: let foo () = let a = 10 () // r

我有好几次,尝试实现不同的功能,你看到的消息标题。我想知道是否有人能告诉我这个错误消息的一般含义(和原因)。正如我之前提到的,我已经多次遇到这个问题并设法解决了它,但仍然没有得到确切的原因,所以我不会发布任何具体的代码


提前感谢您

当您编写
let
绑定时,最常见的情况是后面没有计算结果的表达式。在F#中,所有内容都是一个返回某些结果的表达式,因此如果您编写
让a=10
,它通常不是一个有效的表达式。要使其有效,您需要返回以下内容:

let foo () = 
  let a = 10
  () // return unit value (which doesn't represent any information)
唯一可以只编写
let a=10
的例外是F#源文件的全局范围-例如,在模块声明或F#脚本文件中。(这就是上面的
foo
声明有效的原因)

在没有看到代码的情况下很难给出任何建议,但是您可能有一个
let
声明,后面没有一个F#表达式

出于好奇,以下示例显示
let
确实可以在表达式中使用(它必须返回一些有意义的结果):

另见
let a = 40 + (let a = 1 
              a + a)