说我有一个由以下定义的变体v:
type value =
| Value of int
| Error of string;;
如果v是一个值,我想做点什么,如果v是一个错误,我想做些什么,我怎样才能确定它并根据它执行不同的行为?
答案 0 :(得分:2)
那是match
表达式的用途:
match v with
| Value n -> (* Something with n *)
| Error s -> (* Something with s *)
(就OCaml是一种函数式语言而言,从价值而不是行为的角度思考可能更好。但如果你愿意,OCaml也可以成为一种必要的语言。)