【发布时间】:2015-10-19 23:13:43
【问题描述】:
假设我有一个变体 v 定义为:
type value =
| Value of int
| Error of string;;
如果 v 是一个值,我想做一些事情,如果 v 是一个错误,我想做什么,我如何确定这一点并根据它执行不同的行为?
【问题讨论】:
假设我有一个变体 v 定义为:
type value =
| Value of int
| Error of string;;
如果 v 是一个值,我想做一些事情,如果 v 是一个错误,我想做什么,我如何确定这一点并根据它执行不同的行为?
【问题讨论】:
这就是match 表达式的用途:
match v with
| Value n -> (* Something with n *)
| Error s -> (* Something with s *)
(就 OCaml 是一种函数式语言而言,从价值而非行为的角度考虑可能会更好。但如果您愿意,OCaml 也可以是一种命令式语言。)
【讨论】: