2015-10-19 20 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的也可以是命令式語言如果你願意。)