2009-11-28 1 views
4

Например, предположим, что я хочу сделать тип как это (используя Dyn_array):Как создать тип, который использует Dynaarray от батарей в OCaml?

type some_type = SomeConstructor of <Dyn_array of integers> 

Я немного потерял о том, как сделать это, хотя. Может ли кто-нибудь дать мне пример, чтобы я мог обернуть голову вокруг этого?

ответ

2

В чем проблема? синтаксис?

Вы пробовали использовать промежуточный тип?

type my_dyn = Dyn_Array of int 

type some_type = SomeConstructor of my_dyn 
+0

Обратите внимание, что у меня есть установленные батареи, но это то, что я хотел бы сделать для обычного стека, и она выглядит так же (на основе документации, хотя) – LB40

+0

это синтаксис. Я на самом деле нашел для этого ответ, но забыл написать ответ здесь! –

4

(У меня нет батарейки). DynArray.t уже определен. Вы просто хотите, чтобы определить тип своей свободной переменной, а не определить новый конструктор (что, X of y будет делать, а, кроме того внедренного синтаксиса незаконна),

type some_type = SomeConstructor of integers DynArray.t 

Если вы хотите оставить тип DynArray нахаляву,

type 'a some_type = SomeConstructor of 'a DynArray.t 
+0

+1: вот что я искал. – LB40