Mug*_*gen 0 ocaml ml match optional
我想编写一个接受自定义类的值的函数myType,然后返回myType option.不确定我的问题是签名,内容还是返回值.
例如,我试图编写以下内容(它已经简化,没有任何实际意义):
let rec myFunc (t:myType) myType option =
let t2 = myFunc t in
match t2 with
| None -> None
| _ -> t
Run Code Online (Sandbox Code Playgroud)
我收到以下编译错误:
错误:此模式匹配'a选项类型的值,但预期模式匹配类型'b - >'c - >'d的值
不确定我的语法有什么问题,或者我误解了OCaml.
我只看到一个缺少的冒号和Some:
let rec myFunc (t:myType): myType option =
let t2 = myFunc t in
match t2 with
| None -> None
| _ -> Some t
Run Code Online (Sandbox Code Playgroud)
稍微简化的版本:
let rec myFunc (t:myType): myType option =
match myFunc t with
| None -> None
| _ -> Some t
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
413 次 |
| 最近记录: |