F#:期待' in'或其他令牌错误

时间:2014-07-17 21:15:11

标签: f# visual-studio-2013

所以我在F#中编写了一个非常简单的程序,它应该将所有3和5的倍数加在1000以下:

[1..999]
|> List.filter (fun x -> x % 3 = 0 || x % 5 = 0)
|> let total = List.sum`

然而,在程序的最后,我收到以下错误:

Unexpected end of input in expression. Expected 'in' or other token.

我使用的是轻量级语法,所以我不确定F#为什么要我使用' in'声明。有什么想法吗?

1 个答案:

答案 0 :(得分:6)

您可能打算这样做:

let total = 
  [1..999]
  |> List.filter (fun x -> x % 3 = 0 || x % 5 = 0)
  |> List.sum

你得到的错误信息是因为它需要一个正向管道之后的函数,你可以有一个let绑定,但是作为一个期望至少有一个参数的函数的一部分。