小编Wil*_*orn的帖子

F#Seq.choose()错误FS0001

我已经在.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)

感谢任何人都能提供的帮助!

msdn f# sequence match

3
推荐指数
1
解决办法
160
查看次数

标签 统计

f# ×1

match ×1

msdn ×1

sequence ×1