所以我在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'声明。有什么想法吗?
答案 0 :(得分:6)
您可能打算这样做:
let total =
[1..999]
|> List.filter (fun x -> x % 3 = 0 || x % 5 = 0)
|> List.sum
你得到的错误信息是因为它需要一个正向管道之后的函数,你可以有一个let绑定,但是作为一个期望至少有一个参数的函数的一部分。