come dichiarare un record all'interno di una classe OCAML
-
05-07-2019 - |
Domanda
Voglio dichiarare un record all'interno di una classe come segue:
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}
....
ma il compilatore afferma che questa riga è un errore di sintassi: digitare gun = {x: in ....
quando dichiarato fuori dalla classe in questo modo
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}
....
l'errore è: pistola valore non associato.
quindi qualcuno sa come raggiungere la stessa funzionalità in un altro modo? grazie!
********* risolto ***
Bizare ora funziona quando il tipo viene dichiarato all'esterno, grazie
Soluzione
Perché non definisci il tipo di pistola al di fuori della definizione di classe?
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow