我有一个功能
foo 'a -> 'b option
Run Code Online (Sandbox Code Playgroud)
我有一个'a
let data_in: 'a[] = ...
Run Code Online (Sandbox Code Playgroud)
我需要获得'b'的数组.所以我有两个问题:
我想做这样的事情:
bar(data: 'a []) : 'b [] =
data |> foo
let result : 'b[] = Array.filter (fun e ->
match e with
| Some(e) -> true
| None -> false)
Run Code Online (Sandbox Code Playgroud)但我得到了bar预期类型的错误'b,但得到了'b option.如何修复类型声明bar?
map+ filter一个表达式的情况下完成所有这些操作吗?