2015-10-19 66 views
0

说我有被定义的变种五:获得变异的价值OCaml中

type value =  
    | Value of int 
    | Error of string;; 

我想要做的东西,如果v是一个值,别的东西,如果v是一个错误,我怎么能确定这一点,基于它执行不同的行为?

回答

2

这就是match表达式是什么:

match v with 
| Value n -> (* Something with n *) 
| Error s -> (* Something with s *) 

(只要OCaml的是一种功能性的语言,它可能会更好想到在价值观方面,而不是行为,但OCaml的也可以是命令式语言如果你愿意。)