我想做这样的事情:
let a x : Result<_, string> =
match x with
| 1 -> Ok
| _ -> Error "not 1"
Run Code Online (Sandbox Code Playgroud)
这不会编译。
有没有办法不指定 ok 类型并且不返回任何内容?
不是经验丰富的 F# 编码员,但我的理解是指示“无返回值”的方式是使用Unit.
这编译。你所做的就足够了吗?
let a x =
match x with
| 1 -> Ok ()
| _ -> Error "not 1"
Run Code Online (Sandbox Code Playgroud)
或者使用显式返回类型:
let a x : Result<Unit, string> =
match x with
| 1 -> Ok ()
| _ -> Error "not 1"
Run Code Online (Sandbox Code Playgroud)
鉴于这Ok是一个参数化类型,我认为没有办法让它Ok自己为你正在做的事情工作。
| 归档时间: |
|
| 查看次数: |
64 次 |
| 最近记录: |