как объявить запись внутри класса OCAML - PullRequest
4 голосов
/ 08 марта 2009

Я хочу объявить запись внутри класса следующим образом:

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 теперь работает, когда тип объявлен снаружи, спасибо

1 Ответ

2 голосов
/ 08 марта 2009

Почему бы вам не определить тип пистолета вне определения класса?

...