我已經在Visual Studio的.fsx文件和交互式窗口中爲Seq.choose函數(寫在下面)嘗試了MSDN的example,但它多次返回錯誤FS0001,指出「無」選項是PageExt類型而不是「抽象選項類型」選項。F#Seq.choose()錯誤FS0001
我已經搜索了一個關於PageExt類型的解釋,或者爲什麼當None關鍵字只是表示匹配表達式中的「no value」選項時可能會返回一個錯誤。
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
感謝任何人的幫助!
這聽起來非常像你有一個定義爲'PageExt'的類型,其中一個聯合事例被稱爲'None'。右鍵單擊到您的交互式窗口中,單擊「重置會話」 –