2013-10-21 14 views
5
type t = { 
     dir : [ `Buy | `Sell ]; 
     quantity : int; 
     price : float; 
     mutable cancelled : bool; 
    } 

Orada bir ` Satış Buyönce ve , bu ne anlama gelir?OCaml'de "` "nedir?

Ayrıca [ | ] türü nedir?

cevap

7

`ve [] sözdizimi, polimorfik varyantları tanımlamaktır. Ruhsal bir inline varyant tanımına benzerler.

Senin durumunda

http://caml.inria.fr/pub/docs/manual-ocaml-4.00/manual006.html#toc36

, dir değerini alabilir `al ya` sat, desen eşleştirme buna göre çalışır:

let x = { dir = `Buy, quantity = 5, price = 1.0, cancelled = true } 

match x.dir with 
| `Buy -> 1 
| `Sell -> 2