如何在OCAML类中声明记录

我想在类中声明一条记录,如下所示:

class player (x, y)=
     object(self)
     type gun = {x:int; y:int; active:bool}
     val guns = Array.create 5 {x=0; y=0; active=false}
....

但编译器声称此行是语法错误:type gun = {x:in ….

当在类外宣布这样的时候

type :  gun = {x:int; y:int; active:bool}
class player (x, y)=
     object(self)
     val guns = Array.create 5 {x=0; y=0; active=false}
....

错误是:未绑定的值枪.

所以任何人都知道如何以另一种方式达到相同的功能?
谢谢!

********* 解决了***

Bizare现在正在外面声明类型时工作,谢谢

最佳答案 为什么不在类定义之外定义类型枪?

点赞