2009-03-08 15 views
4

ich erklären möchte einen Datensatz in einer Klasse wie folgt deklarieren:wie eine Aufzeichnung innerhalb einer Ocaml Klasse

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} 
.... 

aber der Compiler Anspruch, dass diese Zeile Syntaxfehler ist: Pistole = {x: in .. ..

wenn außerhalb der Klasse wie diese

erklärt
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} 
.... 

der Fehler: Nicht konsolidiert Wert Pistole.

also weiß jemand, wie man die gleiche Funktionalität auf andere Weise erreicht? danke!

********* gelöst ***

Bizare jetzt, dass es funktioniert, wenn die Art außerhalb erklärt, danke

Antwort

2

Warum Sie nicht die Art Waffe außerhalb der Definition Klassendefinition?

+0

Wenn ich es außerhalb der Klasse deklariere, heißt es: ungebundener Wert Waffe. – 0xFF