Pac*_*ane 10 ocaml functional-programming ml pattern-matching
有没有更清洁的方式这样做?我正在尝试进行模式匹配
(a' option * (char * nodeType) list ref
我找到的唯一方法是这样做:
match a with
| _, l -> match !l with
| (c, n)::t -> doSomething
Run Code Online (Sandbox Code Playgroud)
难道没有办法a与其他东西相匹配......
match a with
| _, ref (c,n)::t -> doSomething
Run Code Online (Sandbox Code Playgroud)
......或类似的东西?在这个例子中,只是做另一个匹配看起来并不重,但在实际情况下,它可能有点......
谢谢你的回答.
sep*_*p2k 12
该ref类型被定义为具有可变字段的记录:
type 'a ref = {
mutable contents : 'a;
}
Run Code Online (Sandbox Code Playgroud)
这意味着您可以使用以下记录语法对其进行模式匹配:
match a with
| _, { contents = (c,n)::t } -> doSomething
Run Code Online (Sandbox Code Playgroud)
Jef*_*eld 12
在OCaml中,a ref秘密地记录了一个名为的可变字段contents.
match a with
| _, { contents = (c, n) :: t } -> (* Do something *)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2116 次 |
| 最近记录: |