我已经在.fsx文件和Visual Studio的交互式窗口中尝试了MSDN的Seq.choose函数示例(如下所示),但它反复返回错误FS0001,声明"None"选项是PageExt类型而不是抽象选项类型'一个选项.
我徒劳地搜索了PageExt类型的解释,或者当None关键字只表示匹配表达式中的"无值"选项时,为什么会返回错误.
let numbers = seq {1..20}
let evens = Seq.choose(fun x ->
match x with
| x when x%2=0 -> Some(x)
| _ -> None ) numbers
printfn "numbers = %A\n" numbers
printfn "evens = %A" evens
;;
| _ -> None ) numbers
---------------------------------------^^^^
>
C:Path\stdin(38,40): error FS0001: This expression was expected to have type
'a option
but here has type
PageExt
Run Code Online (Sandbox Code Playgroud)
感谢任何人都能提供的帮助!