2009-12-01 88 views
4

我試圖創建一個具有多個類型參數的類型。我知道如何使一個類型有一個參數:如何在OCaml中創建具有多個參數的類型?

type 'a foo = 'a * int 

但是我需要有兩個參數,這樣我就可以參數化「廉政」的一部分。我怎樣才能做到這一點?

回答

5

做到這一點的方法是:

type ('a, 'b) foo = 'a * 'b 

類型參數沒有令行禁止,所以你需要爲他們提供的元組的形式爲單參數。這方面的一個很好的例子是Hashtbl模塊:

type ('a, 'b) t 

從類型的類型哈希表的「一個 鍵入」 B。

2

# type ('a, 'b) couple = 'a * 'b ;;

例如...

相關問題