E D*_*awg 3 f# visual-studio-2013
所以我在F#中编写了一个非常简单的程序,它应该将所有3和5的倍数加在1000以下:
[1..999]
|> List.filter (fun x -> x % 3 = 0 || x % 5 = 0)
|> let total = List.sum`
Run Code Online (Sandbox Code Playgroud)
但是,在程序的最后,我收到以下错误:
Unexpected end of input in expression. Expected 'in' or other token.
Run Code Online (Sandbox Code Playgroud)
我使用轻量级语法,所以我不确定为什么F#会要我使用'in'语句.有什么想法吗?
你可能打算这样做:
let total =
[1..999]
|> List.filter (fun x -> x % 3 = 0 || x % 5 = 0)
|> List.sum
Run Code Online (Sandbox Code Playgroud)
您获得的错误消息是因为它期望在正向管道之后的函数,您可以具有let绑定但作为期望至少一个参数的函数的一部分.